AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Winproc ärger

Ein Thema von EWeiss · begonnen am 28. Jan 2009 · letzter Beitrag vom 29. Jan 2009
Antwort Antwort
Seite 2 von 2     12   
EWeiss
(Gast)

n/a Beiträge
 
#11

Re: Winproc ärger

  Alt 28. Jan 2009, 22:14
Zitat von lbccaleb:
Was genau meinst du mit du kommst nicht herrein?
Wie gesagt, wenn der Parameter "0" ist, gehts an Menü...
Keine Ahnung was du mit 0 hast.
Ich erfrage nicht WP sondern LP hab ich doch geschrieben.

Es geht dann ans Menu wenn
PDis^.CtlType := ODT_MENU ist und das Flag ist mit den wert 1 deklariert.

gruss Emil
  Mit Zitat antworten Zitat
Benutzerbild von Sunlight7
Sunlight7

Registriert seit: 17. Sep 2006
Ort: Sonnensystem, Zentral
1.522 Beiträge
 
Delphi 5 Standard
 
#12

Re: Winproc ärger

  Alt 28. Jan 2009, 22:48
Zitat:
WM_DRAWITEM

idCtl = (UINT) wParam; // control identifier
lpdis = (LPDRAWITEMSTRUCT) lParam; // item-drawing information


The WM_DRAWITEM message is sent to the owner window of an owner-drawn button, combo box, list box, or menu when a visual aspect of the button, combo box, list box, or menu has changed.

Parameters

idCtl

Value of wParam. Specifies the identifier of the control that sent the WM_DRAWITEM message. If the message was sent by a menu, this parameter is zero.

lpdis

Value of lParam. Points to a DRAWITEMSTRUCT structure containing information about the item to be drawn and the type of drawing required.

Return Value

If an application processes this message, it should return TRUE.
Das meinte er mit der 0
Windows: Ja - Microsoft: Nein -> www.ReactOS.org
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#13

Re: Winproc ärger

  Alt 28. Jan 2009, 23:00
Ja!
aber helfen tut mir das nicht denn wie dort beschrieben muß ein DrawEvent ausgelößt werden
Zitat:
when a visual aspect of the list box has changed.
von der ListBox damit ich in die Message WM_DRAWITEM hineingelange.

damit meine ich in vorherigen Beitrag ich komm da nicht rein
obwohl der Text usw.. gezeichnet wird.

Kann mir nur noch vorstellen das eventuell der Focus zur ListBox verloren geht.

gruss Emil
  Mit Zitat antworten Zitat
Benutzerbild von Sunlight7
Sunlight7

Registriert seit: 17. Sep 2006
Ort: Sonnensystem, Zentral
1.522 Beiträge
 
Delphi 5 Standard
 
#14

Re: Winproc ärger

  Alt 29. Jan 2009, 02:15
Wenn Du LBS_OWNERDRAWFIXED auskommentierst irgendwie kein Wunder, das die MSG nicht kommt
Du kannst IMHO Windows nicht direkt zwingen so eine Nachricht zu generieren, das macht es, wenn was neu zu zeichnen ist.

Definiere "// LBS_OWNERDRAWFIXED verursacht ärger keine ahnung warum".

So mal geraten, der Ärger hat mit fehlendem WM_MEASUREITEM zu tun?
Windows: Ja - Microsoft: Nein -> www.ReactOS.org
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#15

Re: Winproc ärger

  Alt 29. Jan 2009, 05:23
Zitat:
Wenn Du LBS_OWNERDRAWFIXED auskommentierst irgendwie kein Wunder, das die MSG nicht kommt
Ja stimmt hab es im nachhinein auch bemerkt.
LBS_OWNERDRAWFIXED hat auch kein problem verursacht sondern das zeichnen des Text über

Delphi-Quellcode:
DTP.cbSize := SizeOf(DTP);
    DrawTextEx(PDis.hDC, ItemText, l, PDis.rcItem, DT_LEFT
      or DT_VCENTER or DT_SINGLELINE, @DTP);
DrawTextEx will irgendwie nicht.
Hab mal ne kleine Anwendung in VB gemacht um das gegen zu prüfen da funktioniert alles
Unter Delphi will das nicht.

verwende jetzt
Delphi-Quellcode:
    ExtTextOut(PDis.hDC, 1 + PDis.rcItem.left,
      PDis.rcItem.Top, ETO_OPAQUE,
      @PDis.rcItem, PAnsiChar(ItemText), Length(ItemText), nil);
anstelle dessen.
Die Frage ist nur was besser ist.
Zitat:
Du kannst IMHO Windows nicht direkt zwingen so eine Nachricht zu generieren, das macht es, wenn was neu zu zeichnen ist.
Das ist klar ... hab mir schon gedacht das was fehlt siehe LBS_NOTIFY in verbindung mit LBN_DBLCLK
Geht ohne LBS_NOTIFY auch nicht

Zitat:
So mal geraten, der Ärger hat mit fehlendem WM_MEASUREITEM zu tun?
Benötige ich nur für das Menü und ist vorhanden.
Die Proc in der ListBox hab ich rausgeschmissen und leite die SubClass jetzt direkt auf
die Winproc der mainform um.

gruss Emil

EDIT:
Noch ein pic
Nur noch ein Bitmap für den Hintergrund der Listbox dann ist es fertig
Und noch was an den farben machen.
Miniaturansicht angehängter Grafiken
aufzeichnen_165.jpg  
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:23 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz