<   2012年 04月 ( 3 )   > この月の画像一覧

Delphi XE Pro - SelectDirectory を使って(マイ) コンピュータを開く
Twitter に
SelectDirectory 関数?を使う時に(マイ) コンピュータを初期値として開きたいけど、どうすれば良いんだろう?
と書いた。

特になにも引数を与えずに SelectDirectory を使うとWindows 7では
b0003577_1838074.png
このようなダイアログが開かれるんだけどネットワークフォルダーとかを選択されると
エラー処理すべきことが増えそうなので制限したいと思って聞いてみた。

しばらくして
DirがStringの変数として。こんな感じの謎の呪文を
SelectDirectory('', '::{20D04FE0-3AEA-1069-A2D8-08002B30309D}', Dir);
とするといいよ。とReplyをいただいたので実際にやってみたら、
b0003577_18402097.png

やりたいことが出来ました。
Windows XP SP3 なパソコンでも動いたので Vista でも問題ないと思う。

以下コード。

More
[PR]

by arigayas | 2012-04-25 19:13 | Delphi Programming | Trackback | Comments(0)
Delphi XE Pro - バルーンヒントを動的に書き換える
Edit の幅が狭いというか 短くて見えない場合の対処方法としてバルーンヒントを出すことにした。

標準機能でEdit のイベントの onChange をクリックして以下を記述する。
procedure TForm1.EditChange(Sender: TObject);
begin
Edit.Hint := Edit.Text;
end;



BalloonHint を使った場合のコード。

BalloonHint の関連づけのやり方はこの動画を見た。


procedure TForm1.EditChange(Sender: TObject);
begin
Edit.Hint := 'URLは |' + Edit.Text + '|1';
end;

最後の「1」はヒントタイトルの位置を表していて1だと中央になって
0」にすると左寄せになる。


embarcadero のドキュメント:Controls.TCustomHint - XE2 API Documentation

バグがあったらごめんなさい。
[PR]

by arigayas | 2012-04-13 21:21 | Delphi Programming | Trackback | Comments(0)
Delphi - ラベルエディタ の文字がなかったらボタンに書いてあるフォルダを選択する処理を呼ぶ
procedure TForm2.WorkingFolder_BtnClick(Sender: TObject);
begin
if SelectDirectory('登録するフォルダの選択','',SelectFolder) then
WorkingFolder_LE.Text := Selectfolder;
end;

procedure TForm2.WorkingFolder_LEClick(Sender: TObject);
begin
if WorkingFolder_LE.Text ='' then
ShowMessage('no');
WorkingFolder_Btn.OnClick(Selectfolder); ←ここになんて書くべき?
end;


WorkingFolder_BtnClick()の処理を全部書くべきなのかなぁ?

2012年4月7日追記
  WorkingFolder_Btn.OnClick(Sender);
でOK。
[PR]

by arigayas | 2012-04-06 18:27 | Delphi Programming | Trackback