TEdit border size ...
7 отговора
102 прегледа
Re: TEdit border size ...
Дай малко повече информация какво искаш да направиш!
---
Сънуваш ли баница - яж!
ShadowM
---
Сънуваш ли баница - яж!
ShadowM
Re: TEdit border size ...
Правя ComboBox, на който dropdown прозореца му е DBGrid.
Всичко му е готово, само имам проблем с позиционирането на екрана.
Сега става така:
Pnt : TPoint;
Pnt := ClientToScreen(Point(0,Self.Height));
FPopupForm.Left := Pnt.X;
FPopupForm.Top := Pnt.Y;
За да е най-чисто трябва да се напише така:
FPopupForm.Left := Pnt.X-BorderWidth;
FPopupForm.Top := Pnt.Y-BorderWidth;
Само че тъпото BorderWidth винаги връща 0, независимо дали BorderStyle e bsNone или bsSingle.
Как да взема адекватно BorderWidth ?
Всичко му е готово, само имам проблем с позиционирането на екрана.
Сега става така:
Pnt : TPoint;
Pnt := ClientToScreen(Point(0,Self.Height));
FPopupForm.Left := Pnt.X;
FPopupForm.Top := Pnt.Y;
За да е най-чисто трябва да се напише така:
FPopupForm.Left := Pnt.X-BorderWidth;
FPopupForm.Top := Pnt.Y-BorderWidth;
Само че тъпото BorderWidth винаги връща 0, независимо дали BorderStyle e bsNone или bsSingle.
Как да взема адекватно BorderWidth ?
Re: TEdit border size ...
Така сега ако съм разбрал правилно искаш този DBGrid да се подравни спрямо TEdit-a. Защо не ползваш тогава TEdit.Left i TEdit.Width:
FPopupForm.Left := TEdit.Left;
FPopupForm.Top := TEdit.Top + TEdit.Height;

---
Сънуваш ли баница - яж!
ShadowM
FPopupForm.Left := TEdit.Left;
FPopupForm.Top := TEdit.Top + TEdit.Height;
---
Сънуваш ли баница - яж!
ShadowM
Re: TEdit border size ...
Не може, защото на DBGrid-a parent-a му е desktopa (ама това бях забравил да го кажа)
Решението е следното:
В кода на моя Edit наследник на TEdit
Self е моя компонент.
if Parent <> nil then begin
Pnt := Parent.ClientToScreen(Point(BoundsRect.Left,BoundsRect.Top));
FPopupForm.Left := Pnt.X;
FPopupForm.Top := Pnt.Y+Height;
end;
Решението е следното:
В кода на моя Edit наследник на TEdit
Self е моя компонент.
if Parent <> nil then begin
Pnt := Parent.ClientToScreen(Point(BoundsRect.Left,BoundsRect.Top));
FPopupForm.Left := Pnt.X;
FPopupForm.Top := Pnt.Y+Height;
end;
Re: TEdit border size ...
Радвам се че си се оправил!
Само не разбирам защо на Parent задаваш Screen (десктоп, по твоята терминология), а не формата, където е твоя Edit: TEdit?
---
Сънуваш ли баница - яж!
ShadowM
Само не разбирам защо на Parent задаваш Screen (десктоп, по твоята терминология), а не формата, където е твоя Edit: TEdit?
---
Сънуваш ли баница - яж!
ShadowM
Re: TEdit border size ...
Защото един падащ combobox може да излиза и извън тази форма.
Ако дам за Parent формата няма да може.
Ако дам за Parent формата няма да може.
Re: TEdit border size ...
Мм да, прав си за това! 
---
Сънуваш ли баница - яж!
ShadowM
---
Сънуваш ли баница - яж!
ShadowM