Stworzyłem sobie ToolBar (align = bottom) i zamieściłem na nim menu, tylko mam jeden problem - menu otwiera się pod przyciskiem (chyba że nie ma miejsca na ekranie) a chciałbym aby otwierało się nad przyciskiem (czyli wewnątrz formy, tak żeby nie wchodziło na pulpit)
Możesz spróbować odpowiednio ustawić Popup Menu, a w głównych elementach menu zamiast wyświetlać podmenu wywołujesz te popupy.
A jak ten Popup ustawić żeby pojawiał się nad Buttonem po naciśniąciu na niego lewym klawiszem myszy ?
to w onkeydown mozna pokusic sie o modyfikacje aby podpinac do popup
var
P:TPoint;
const
TPM_VERNEGANIMATION = $2000;//gdyby naszla potrzeba animacji ! to bez sensu w przeciwna
begin
P := Button1.ClientToScreen(POINT(X,Y));//do button 1 menu (ale nie potpiete
//na srodku kursora od dolu
TrackPopupMenu(PopupMenu1.Handle,TPM_BOTTOMALIGN or TPM_VERNEGANIMATION or TPM_CENTERALIGN ,p.x,p.y,0,form1.handle,nil);
Wielkie dzięki, wszystko działa jak należy
A jedna nie działa. Zająłem sią czymś inny <ort>niesprawdzając </ort>oczywistej rzeczy. Popup sie pokazuje ale nic sie nie dzieje jak wcisne któryś z guzików w nim, o co chodzi ?
Taaa .... dlatego napisale ze bedzie trzeba jeszcze pokombinowac bo w delphi tworzone jest okienko TPUtilWindow czy cos takiego i tam jest obslugiwane popupmenu
a ja podalem jako param form1.handle ... no tu sie borland nie popisal
dlatego albo mozna samemu obslugiwac komunikaty albo ..... przepisac TMenuPopup
tu kod co na szybciora splodzilem
http://rudy.mif.pg.gda.pl/~reichel/down.php?id=212
mile widziane komentarze
PS. w D9 tez jest "tak" glupio ?! czy ja nie widze innego rozwiazania ?