Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "KOL";
Текущий архив: 2019.02.17;
Скачать: [xml.tar.bz2];

Вниз

Хинт ы   Найти похожие ветки 

 
RusSun ©   (2010-03-04 17:44) [0]

Доброе время суток.
Вот такой код:

program Project1;

uses
 windows,
 kol;

{$R *.res}
type  TOnEvent = procedure( Sender: PObj )of object;
var
form,Button1,
editbox1,editbox2:PControl;
HintWND: HWND;
TI: TToolInfo;
Tips: array[0..3] of PChar = (
  "Кнопка Открыть",
  "ЭдитБох1",
  "ЭдитБох2",
  "");

//область для процедур
procedure clickbutton1(Dummy:pointer;Sender:PControl; var mouse:TMouseEventData);
begin
showmessage("");
end;
procedure mousemove(Dummy:pointer;Sender: PControl; var Mouse: TMouseEventData );
begin
with TI do
begin
  cbSize:=sizeof(TI);
  uFlags:=TTF_SUBCLASS;
  hWnd:=Sender.GetWindowHandle;
  uID:=0;
  Rect.Left:=Sender.ClientRect.Left;
  Rect.Top:=Sender.ClientRect.Top;
  Rect.Right:=Sender.ClientRect.Right;
  Rect.Bottom:=Sender.ClientRect.Bottom;
  hInst:=HInstance;
  lpszText:=Tips[Sender.Tag];
  form.StatusText[0]:=Tips[Sender.Tag];
end;
SendMessage(HintWnd,TTM_ADDTOOL,0,DWORD(@TI));
end;
procedure Destr(Dummy:pointer;Sender:PControl);
begin
DestroyWindow(HintWnd);
end;
Begin
form:=NewForm(Applet,"hint"+#39+"s "+#8470).SetSize(330,240).CenterOnParent;
form.StatusText[0]:=pchar("");
form.tag:=3;
Button1:=NewButton(form,"Кнопка").SetSize(120,50);
Button1.CenterOnParent;//размещаент объект по середине родительского.
Button1.Tag:=0;
Button1.OnMouseMove:=TonMouse(MakeMethod(nil,@mousemove));

EditBox1:= NewEditBox(form,[]).SetPosition( 10, 34 ).SetSize( 60, 0 );
EditBox1.Color:=clWhite;
EditBox1.Text :=" 10.00 ";
editbox1.Tag:=1;
EditBox1.OnMouseMove:=TonMouse(MakeMethod(nil,@mousemove));
   
EditBox2:= NewEditBox(form,[]).SetPosition( 10, 58 ).SetSize( 60, 0 );
EditBox2.Color:=clWhite;
EditBox2.Text :=" 10.01 ";
editbox2.Tag:=2;
EditBox2.OnMouseMove:=TonMouse(MakeMethod(nil,@mousemove));
//область для работы
Button1.OnClick:=TonEvent(MakeMethod(nil,@clickbutton1));

HintWnd:=CreateWindowEx(0,TOOLTIPS_CLASS,nil,0,CW_USEDEFAULT,CW_USEDEFAULT,CW_US EDEFAULT,CW_USEDEFAULT,form.GetWindowHandle,0,HInstance,nil);

form.OnMouseMove:=TonMouse(MakeMethod(nil,@mousemove));
form.OnDestroy:=TonEvent(MakeMethod(nil,@Destr));
Run(form);

end.

Вопрос: если будет добавлена вторая форма, то
посказки всё равно останутся на первой форме.
Можно сделать так чтобы подсказки появлялись над своими формами?


 
Barloggg   (2010-03-05 11:33) [1]

ну, создай второй HintWnd.
а то у тебя он создается вот так:
> HintWnd:=CreateWindowEx(0,TOOLTIPS_CLASS,nil,0,CW_USEDEFAULT,
> CW_USEDEFAULT,CW_US EDEFAULT,CW_USEDEFAULT,form.GetWindowHandle,
> 0,HInstance,nil);

ну вот тут и видно, что он прикреплен к конкретной форме.
> form.GetWindowHandle


 
RusSun ©   (2010-03-05 13:51) [2]

2Barloggg Спасибо, просто думал может есть другой вариант.



Страницы: 1 вся ветка

Форум: "KOL";
Текущий архив: 2019.02.17;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.001 c
15-1476631640
xayam
2016-10-16 18:27
2019.02.17
Кубик 2х2х2


11-1266412713
bobah
2010-02-17 16:18
2019.02.17
Проблема с большими Bitmap в Delphi7+KOL


4-1291421794
Kto_tyT_a
2010-12-04 03:16
2019.02.17
CreateProcess + Windows Srv 2003 + ERROR_FILE_NOT_FOUND


11-1265359559
Barloggg
2010-02-05 11:45
2019.02.17
шрифт на канвасе выглядит разно!


11-1267713848
RusSun
2010-03-04 17:44
2019.02.17
Хинт ы





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский