Einzelnen Beitrag anzeigen

EWeiss
(Gast)

n/a Beiträge
 
#3

Re: MF_SEPARATOR welcher string wert in Delphi

  Alt 15. Jan 2009, 12:12
Zitat von fkerber:
Hi!

Wenn ich dich richtig verstehe, wäre die Antwort "auch ein -"
Allerdings befürchte ich, dass du dann nicht fragen würdest...

Vllt. stehe ich auch nur auf dem Schlauch, aber vllt. kannst du auch dein Problem noch etwas näher beschreiben.
Also wenn es darum geht, im Menü so einen Trennstrich einzufügen müsste - das richtige sein...


Ciao, Frederic
Wenn ich bei 102: = Seperator als result '-' übergebe wird nur '-' einmalig gezeichnet.
Nicht wie vom Menu(System) erwartet das zeichen über die gesamte breite des Menu.

Delphi-Quellcode:
      WM_NCRBUTTONDOWN:
      begin
        hPopupMenu := CreatePopupMenu; // Bitmap Popupmenu
        hSubSkinMenu := CreatePopupMenu; // Bitmap SkinSubmenu
        if hPopupMenu <> 0 then
        begin
          AppendMenu(hPopupMenu, MF_OWNERDRAW, IDM_ABOUT, '');
          AppendMenu(hPopupMenu, MF_OWNERDRAW or MF_SEPARATOR, 102, '');
          AppendMenu(hPopupMenu, MF_OWNERDRAW or MF_POPUP, hSubSkinMenu, 'Skins');

          MnuSkins := nil;
          Files := nil;
          FindAllFiles(ExtractFilePath(ParamStr(0)) + 'Skins', '.ske', True);
          SetLength(MnuSkins, length(Files));
          for IntI := 0 to length(Files) - 1 do
            AppendMenu(hSubSkinMenu, MF_OWNERDRAW, IDM_SKINS + IntI, '');

          AppendMenu(hPopupMenu, MF_OWNERDRAW or MF_SEPARATOR, 102, '');
          AppendMenu(hPopupMenu, MF_OWNERDRAW, IDM_AddFile, '');
          AppendMenu(hPopupMenu, MF_OWNERDRAW, IDM_AddFolder, '');
          AppendMenu(hPopupMenu, MF_OWNERDRAW or MF_SEPARATOR, 102, '');
          AppendMenu(hPopupMenu, MF_OWNERDRAW, IDM_Close, '');
          GetCursorPos(p);
          MenuWahl := TrackPopupMenuEx(hPopupMenu, TPM_RETURNCMD, p.X, p.Y, WinHandle, nil);
          DestroyMenu(hPopupMenu);
          if MenuWahl then
            SendMessage(WinHandle, WM_COMMAND, Makelong(Word(MenuWahl), 0), 0);
       end;
      end;

Delphi-Quellcode:
function GetMenuTxt(ItemId: Integer; var Img: Cardinal): string;
var
  sItem: string;
  sSkinItem: TSplitStrArray;
  Item: Integer;

begin
  with SkinEngine do
  begin
    case ItemId of
      102:
        Result := '-';
Sieht in Delphi aus .. siehe Pic
Miniaturansicht angehängter Grafiken
menu_168.jpg  
  Mit Zitat antworten Zitat