Seite 1 von 1
Menu und Popupmenu wie im PB-Editor
Verfasst: 19.10.2007 06:43
von Thomas
Hallo,
Wie kann ich ein Menu und ein Popupmenu wie im PureBasic-Editor erstellen?
Also mit Icons links, ...
Verfasst: 19.10.2007 08:58
von Scarabol
Moin,
sind dein Problem die Icons oder das ganze Popupmenu?
[Edit]
Problem Icons:
Code: Alles auswählen
SetMenuItemBitmaps_(MenuID(0),2,#MF_BYCOMMAND, ImageID(1), ImageID(2))
Image1, wenn SetGadgetState = 0
Image2, wenn SetGadgetState = 1
Problem Popupmenu:
Einfach bei den Events den Linksklick überprüfen und gegebenenfalls DisplayPopupMenu() ausführen...
[/Edit]
Gruß
Scarabol
Verfasst: 19.10.2007 11:41
von Thomas
eigentlich dachte ich an das ganze Menu
Verfasst: 19.10.2007 16:44
von Scarabol
Ja und???
Schau dir mal CreatePopupMenu() an...
Wo ist dein Problem?
Gruß
Scarabol
Verfasst: 19.10.2007 18:38
von Thomas
CreatePopupMenu() ist fade.
Sollte halt so sein wie in Pixtix, oder im PB-Editor.

Verfasst: 19.10.2007 18:49
von #NULL
versteh' ich nicht. was ist denn im pb-editor anders?
Verfasst: 19.10.2007 23:55
von Scarabol
Gute Frage ich kapiers auch nicht ???
Kannst du das Problem oder dein Vorhaben vielleicht mit mehr als einem Satz beschreiben???
Gruß
Scarabol
Verfasst: 20.10.2007 00:54
von Kurzer
Thomas, CreatePopUpMenu ist nicht fade... Du musst das schon aufrufen, um ein PopUpMenu zu erstellen.
Danach klöppelst Du dann Deine Bilder zum Beispiel mit
SetMenuItemBitmaps_(MenuID(0),2,#MF_BYCOMMAND, ImageID(1), ImageID(2)) in das Menu.
Fertig!
WinApi-Hilfe hat geschrieben:The SetMenuItemBitmaps function associates the specified bitmap with a menu item. Whether the menu item is checked or unchecked, Windows displays the appropriate bitmap next to the menu item.
BOOL SetMenuItemBitmaps(
HMENU hMenu, // handle of menu
UINT uPosition, // menu item to receive new bitmaps
UINT uFlags, // menu item flags
HBITMAP hBitmapUnchecked, // handle of unchecked bitmap
HBITMAP hBitmapChecked // handle of checked bitmap
);
Parameters
hMenu
Identifies the menu containing the item to receive new check mark bitmaps.
uPosition
Specifies the menu item to be changed, as determined by the uFlags parameter.
uFlags
Specifies how the uPosition parameter is interpreted. The uFlags parameter must be one of the following values:
Value Meaning
MF_BYCOMMAND Indicates that uPosition gives the identifier of the menu item. If neither MF_BYCOMMAND nor MF_BYPOSITION is specified, MF_BYCOMMAND is the default flag.
MF_BYPOSITION Indicates that uPosition gives the zero-based relative position of the menu item.
hBitmapUnchecked
Identifies the bitmap displayed when the menu item is not checked.
hBitmapChecked
Identifies the bitmap displayed when the menu item is checked.
Return Values
If the function succeeds, the return value is nonzero.
If the function fails, the return value is zero. To get extended error information, call GetLastError.
Remarks
If either the hBitmapUnchecked or hBitmapChecked parameter is NULL, Windows displays nothing next to the menu item for the corresponding check state. If both parameters are NULL, Windows displays the default check mark bitmap when the item is checked and removes the bitmap when the item is not checked.
When the menu is destroyed, these bitmaps are not destroyed; it is up to the application to destroy them.
Windows NT: The GetMenuCheckMarkDimensions function retrieves the dimensions of the default check mark used for menu items. These values are used to determine the appropriate size for the bitmaps supplied with this function.
Windows 95: GetMenuCheckMarkDimensions is obsolete. Use GetsystemMetrics with the CXMENUCHECK and CYMENUCHECK values to retrieve the bitmap dimensions.
Verfasst: 20.10.2007 07:54
von Thomas
wenn ich das hier benutze dann kleben mir die Icons etwas zu arg am Text. auch möchte ich evt. größere Icons (die hier haben nur 13x13 im Menu) darstellen.
SetMenuItemBitmaps_(MenuID(0),2,#MF_BYCOMMAND, ImageID(1), ImageID(2))
Verfasst: 20.10.2007 12:08
von #NULL
>> dann kleben mir die Icons etwas zu arg am Text
du kannst den text mit tabs ausrichten