ボタンを二つ配置して、
片方はエディットをデスクトップに動的に作成。
もう一方はデスクトップのエディットを廃棄したいと思っています。
環境はXP ProSP1+5EnterPrise UP1です。
http://forum.nifty.com/fdelphi/faq/00117.htm
これを参考にしてできませんか?
デスクトップ領域に作成したいのですがわかりませんか?
フォームのうえに、TEditを置き、
そのフォームを表示させたり、非表示にしたり、
ではだめですか?
デスクトップとは
http://e-words.jp/w/E38387E382B9E382AFE38388E38383E38397.html
これの事ですか
タバスコ様
動的には作成できます。
igy様
フォームに乗せても非表示にすると、
TEditも非表示になってしまいます。
TS様
そこです。判り難い質問ですみません。
>>フォームのうえに、TEditを置き、
>>そのフォームを表示させたり、非表示にしたり、
>>ではだめですか?
>フォームに乗せても非表示にすると、
>TEditも非表示になってしまいます。
TEditを置くためだけのフォーム(BorderStyle プロパティをbsNoneに)
を用意し、フォームのサイズをTEditと同じくらいの大きさにして、
ボタンの片方で、そのフォームを表示、
もう一方のボタンで、そのフォームを非表示
で、だめですか?
>>フォームに乗せても非表示にすると、
>>TEditも非表示になってしまいます。
>TEditを置くためだけのフォーム(BorderStyle プロパティをbsNoneに)
>を用意し、フォームのサイズをTEditと同じくらいの大きさにして、
>ボタンの片方で、そのフォームを表示、
>もう一方のボタンで、そのフォームを非表示
>
>で、だめですか?
呼び出し元のフォームを最小化すると、TEditを置いたフォームも非表示に
なってしまいますね。
https://www.petitmonte.com/bbs/answers?question_id=3853
「デスクトップの表示」でも消えないウィンドウを作るには?
と似てる気がする。
type
winctrl = class (TWinControl);
procedure TForm1.Button1Click(Sender: TObject);
var
h: integer;
e: TEdit;
begin
h:=FindWindow('Progman','Program Manager');
if h<>0 then
begin
MessageBeep(MB_ICONEXCLAMATION);
//e:=TEdit.CreateParented( h);
e:=TEdit.Create(Self);
e.Text:='TEST1 TEST1 TEST1';
e.ParentWindow:=h;
e.Left:= 0;
e.Top := 0;
e.Width:= 100;
e.Height:= 40;
e.Show;
winctrl(e).SetZOrder(True);
end;
で、駄目ですか?
ひょっとして「付箋」みたいなヤツかな?
そうなら、タイトル・バー無しとかのミニフォーム作って、Edit をクライアントにするとかではダメ?
ツイート | ![]() |