Thema: MpuAboutWnd

Einzelnen Beitrag anzeigen

Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#1

Re: MpuAboutWnd

  Alt 7. Jan 2007, 22:13
Ich wollte es jetzt so machen:
Delphi-Quellcode:
WM_CREATE:
      begin
        // create fonts
        LinkFontHover := CreateFont(-MulDiv(LINKFONTSIZE, GetDeviceCaps(GetDC(hLinkStc), LOGPIXELSY), 72), 0, 0, 0,
          400, 0, 1, 0, ANSI_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH,
          LINKFONTNAME);
        // save handle as a window property
        SetProp(hLinkStc, 'LinkFontHover', LinkFontHover);
        LinkFontNonHover := CreateFont(-MulDiv(LINKFONTSIZE, GetDeviceCaps(GetDC(hLinkStc), LOGPIXELSY), 72), 0, 0, 0,
          400, 0, 0, 0, ANSI_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH,
          LINKFONTNAME);
        // save the handle as a window property
        SetProp(hLinkStc, 'LinkFontNonHover', LinkFontNonHover);
      end;
    WM_MOUSELEAVE:
      begin
        if WindowHover then
        begin
          // reset state
          WindowHover := False;
          // set font
          SendMessage(hLinkStc, WM_SETFONT, GetProp(hLinkStc, 'LinkFontNonHover'), Integer(true));
        end;
      end;
    WM_MOUSEMOVE:
      if not WindowHover then
      begin
        // save state
        WindowHover := True;
        // set font
        SendMessage(hLinkStc, WM_SETFONT, GetProp(hLinkStc, 'LinkFontHover'), Integer(true));
        // track WM_MOUSELEAVE
        EventTrack.cbSize := SizeOf(EventTrack);
        EventTrack.dwFlags := TME_LEAVE;
        EventTrack.hwndTrack := hLinkStc;
        EventTrack.dwHoverTime := HOVER_DEFAULT;
        TrackMouseEvent(EventTrack);
      end;
    WM_DESTROY:
      begin
        // delete objects and remove properties from the window property list
        DeleteObject(GetProp(hLinkStc, 'LinkFontNonHover'));
        RemoveProp(hLinkStc, 'LinkFontNonHover');
        DeleteObject(GetProp(hLinkStc, 'LinkFontHover'));
        RemoveProp(hLinkStc, 'LinkFontHover');
      end;
Aber ich bekomme kein WM_CREATE.

Ich habe die Font Handles erstmal global gemacht, damit der Fehler zumindest raus ist.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat