घर
Top.Mail.Ru Yandeks.Metrika
मंच: "मुख्य";
वर्तमान संग्रह: 2003.05.01;
डाउनलोड करें: [xml.tar.bz2];

नीचे

संकेत इसी तरह की शाखाएँ खोजें


saha   (2003-04-18 17:52) [0]

Привет. Тут давеча нашел в faq пример работы с hint-ом
Появление}
IF h<>nil H.ReleaseHandle; {если чей-то хинт yже был, то его погасить}
H:=THintWindow.Create(Окно-владелец хинта);
H.ActivateHint(H.CalcHintRect(...),"hint hint nint");
....
{UnПоявление :) - это возможно пpидется повесить на таймеp, котоpый бyдет
обнyляться пpи каждом новом появлении хинта}
IF h<>nil H.ReleaseHandle;
Все нормально получилось, тока hint появляется в левом верхнем углу экрана, если применить HintHandle.PaintTo(RXDBGrid1.Canvas,10,20); то все ок hint появляется там где надо, но тот который в левом верхнем угле тоже появляется. Как сделать что бы появлялся один?
यहाँ कोड है:
If HintHandle=nil Then HintHandle:=THintWindow.Create(RXDBGrid1);
HintString:=HintString+key;
HintHandle.PaintTo(RXDBGrid1.Canvas,10,20);
HintHandle.ActivateHint(HintHandle.CalcHintRect(length(hintString)*10,hintString,sss),HintString);



Skier   (2003-04-18 18:00) [1]

मदद नहीं करेगा?

If HintHandle=nil Then HintHandle:=THintWindow.Create( आवेदन);
HintString:=HintString+key;
HintHandle.ActivateHint(HintHandle.CalcHintRect(length(hintString)*10,hintString,sss),HintString);



saha   (2003-04-18 18:08) [2]

Неа, кроме того тот hint который нужен все время отстает на один символ (это все у меня стоит в процедуре RxDBGrid1KeyPress)



Skier   (2003-04-18 18:11) [3]

>saha
Может быть всё дело в вычислении прямоугольника для хинта,
он должен быть в экранных координатах...Посмотри...



saha   (2003-04-18 18:47) [4]

а что там смотреть?
максимальная длина без переноса на другую строку, собственно строка, и указатель, который не используется (как написано в help
Note: CalcHintRect ignores the AData parameter. Descendant classes can override this method to make use of associated hint data.)



NickBat   (2003-04-18 19:00) [5]

procedure TFormMain.MyHintShow;
शुरू करना
MyHintHide;
HintExists:=True;
MyHint:=THintWindow.Create(self);
MyHint.Color:=clMyHint;
MyHint.ActivateHint(MyRct,"тРА-ЛЯ-ЛЯ");
अंत;
अंत;

procedure TFormMain.MyHintHide;
शुरू करना
if HintExists
तब शुरू करें
HintExists:=False;
MyHint.ReleaseHandle;
MyHint.Free;
अंत;
अंत;



Skier   (2003-04-18 19:01) [6]

Я же говорю स्क्रीन निर्देशांक

Получишь хинт "примерно" в центре,
(код тупой, но наглядный...) :

procedure TForm1.Button1Click(Sender: TObject);
var
HintString : String;
begin
If HintHandle=nil Then HintHandle:=THintWindow.Create(Application);
HintString:= "Hello, world !";
HintHandle.ActivateHint(Rect(Screen.Width div 2,
Screen.Height div 2,
Screen.Width div 2 + 50,
Screen.Height div 2 + 15)
,HintString);
end;



saha   (2003-04-18 19:20) [7]

स्पष्ट है।
Но а ф-ция CalcHintRect выдает hint только в левом верхнем углу?
А зачем тогда THintWindow.Create( тип TComponent)? Мне думалось
что оно создает hint привязанный к определенному компоненту, а уже относительно него дальше пляшет. Но судя по-вашим словам это не так, а жаль, придется вычеслять куда встыркнуть hint.



Skier   (2003-04-18 19:27) [8]

>saha

> Мне думалось
> что оно создает hint привязанный к определенному компоненту,
> а уже относительно него дальше пляшет.

Да - привязанный, только что имеешь ввиду под "привязанным компонентом" ?



saha   (2003-04-18 19:33) [9]

>Да - привязанный, только что имеешь ввиду под "привязанным компонентом" ?

Ну тот который объявлен в create



Skier   (2003-04-18 19:36) [10]

>saha
Я бы посоветовал тебе ध्यान से почитать про मालिक компонента и его родителя (или его контейнер) и понять разницу, тогда вся путацина исчезнет
"как с белых яблонь дым..." :)



saha   (2003-04-18 19:45) [11]

ठीक है.
Ну и попутно, тогда еще маленький вопросик.
Как, к примеру, узнать координаты левого верхнего края формы?



Skier   (2003-04-18 19:45) [12]

см. TForm.Left и TForm.Top



पन्ने: 1 पूरी शाखा

मंच: "मुख्य";
वर्तमान संग्रह: 2003.05.01;
डाउनलोड करें: [xml.tar.bz2];

ऊपर









मेमोरी: 0.59 एमबी
समय: 0.047 c
14-704
आश्चर्य
2003-04-11 11:21
2003.05.01
टास्क + विवाद


1-612
DeMoNitUs
2003-04-19 00:30
2003.05.01
Exe shnik में कैसे लिखें / लोड करें? स्ट्रिंग भेड़


1-563
Sirus
2003-04-16 12:18
2003.05.01
फ़ाइल प्रकार प्रविष्टि कैसे निर्धारित करें ???


14-767
वनवासी
2003-04-13 15:39
2003.05.01
एक महीने में कितने कार्य दिवस


14-723
Evgeny
2003-04-11 10:35
2003.05.01
कुकीज़





अफ्रीकी अल्बानियन अरबी भाषा अर्मेनियाई आज़रबाइजानी बस्क बेलारूसी बल्गेरियाई कैटलन सरलीकृत चीनी) चीनी पारंपरिक) क्रोएशियाई चेक डेनिश डच अंग्रेज़ी एस्तोनियावासी फिलिपिनो फिनिश फ्रेंच
गैलिशियन् जॉर्जियाई जर्मन यूनानी हाईटियन यहूदी हिंदी हंगरी आइसलैंड का इन्डोनेशियाई आयरिश इतालवी जापानी कोरियाई लात्वीयावासी लिथुआनियाई मेसीडोनियन मलायी मोलतिज़ नार्वेजियन
फ़ारसी पोलिश पुर्तगाली रोमानियाई रूसी सर्बियाई स्लोवाक स्लोवेनियाई स्पेनिश स्वाहिली स्वीडिश थाई तुर्की यूक्रेनी उर्दू वियतनामी वेल्श यहूदी बंगाली बोस्नियाई
सिबुआनो एस्पेरांतो गुजराती हौसा हमोंग ईग्बो जावानीस कन्नड़ खमेर लाओ लैटिन माओरी मराठी मंगोलियन नेपाली पंजाबी सोमाली तामिल तेलुगु योरूबा
ज़ुलु
Английский Французский Немецкий Итальянский Португальский Русский Испанский