Deutsch
Bugs und vermeintliche

Gridboxen und SubClass wollen nicht miteinander

 

Jörg
Sellmeyer
Wenn ich in das Beispiel aus der Profanhilfe statt eines Buttons ein Listview einsetze, funktioniert das Neuzeichnen nicht mehr.
Habe ich da einen Fehler drin oder ist das noch ein Profanbug?

Achtung! Nur XProfan11!
 $H Messages.ph
 $H Windows.ph
 $DEFINE TEST

SubClassProc

    If SubClassMessage(%hWnd, ~wm_sizing)

        SetStyle %hwnd, 1, GetStyle(%hwnd, 1) | $02000000
        Resize
        Set("WinProc", 0)

    ElseIf SubClassMessage(bt&, ~wm_rbuttondown)

        SetText bt&, "Autsch!"
        Set("WinProc", 0)

    ElseIf SubClassMessage(bt&, ~wm_rbuttonup)

        SetText bt&, "Test1"
        SetMenuItem 3000
        Set("WinProc", 0)

    ElseIf SubClassMessage(st&, ~wm_mousemove)

        SetMenuItem 3001
        Set("WinProc", 0)

    ElseIf SubClassMessage(%hwnd, ~wm_close)

        SetMenuItem 3999
        Set("WinProc", 0)

    EndIf

EndProc

Proc Resize

    SetWindowPos bt& = 0, 50 - Width(%HWnd)/2, Height(%HWnd) - 75
    SetWindowPos bt2& = Width(%HWnd)/2, 50 - Width(%HWnd)/2, Height(%HWnd) - 75
    SetWindowPos st& = 0, 0 - 0,0; 0
    SetWindowPos tb& = 0, 0 - 0,0; 0

EndProc

declare bt&, bt2&, st&, tb&
declare ende%
cls
st& = create("StatusWindow", %HWnd, "Statuszeile")
tb& = create("Toolbar", %HWnd,0,15,1,1000,1)
bt& = create("Button", %HWnd, "Test1", 0, 50, Width(%HWnd)/2, Height(%HWnd) - 75)
 $IFDEF TEST
bt2& = create("GridBox", %HWnd, "Test2",0, Width(%HWnd)/2, 50, Width(%HWnd)/2, Height(%HWnd) - 75)
 $ELSE
bt2& = create("Button", %HWnd, "Test2", Width(%HWnd)/2, 50, Width(%HWnd)/2, Height(%HWnd) - 75)
 $ENDIF
Var cb& = Create("CheckBox",%hwnd,"Listen zufällig füllen",370,30,160,20)
SubClass %HWnd, 1'SubClassing des Hauptfensters einschalten
SubClass bt&,   1'SubClassing des 1. Buttons einschalten
SubClass st&,   1'SubClassing der Statuszeile einschalten

whilenot ende%

    waitinput

    If %Key = 4

        Resize
        SetStyle %hwnd, 1, GetStyle(%hwnd, 1) - $02000000

    ElseIf MenuItem(3000)

        MessageBox("Rechtsklick auf Button 1!","Test",0)

    ElseIf MenuItem(3001)

        SetText st&,Str$(%message)
        MessageBox("Mausbewegung über Statuszeile!","Test",0)

    ElseIf MenuItem(3002)

        MessageBox("wm_activate","Test",0)

    ElseIf MenuItem(3003)

        MessageBox("wm_syscommand",str$(&sWParam),0)

    ElseIf MenuItem(3999)

        Case Messagebox("Wollen Sie das Programm wirklich verlassen?","Frage",36) = 6 :
        Ende% = 1

    EndIf

endwhile

'Subclassing wieder ausschalten
SubClass %HWnd, 0
SubClass bt&, 0
SubClass st&, 0
end
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
26.08.2008  
 




Jörg
Sellmeyer
Es blockiert im Zusammenhang mit der SetStyle-Zeile (was wird da eigentlich für ein Stil gesetzt?). Wenn das auskommentiert wird (beide Zeilen!), funktioniert es aber es flackert wie Hölle.
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
26.08.2008  
 




Frank
Abbing
$2000000 ist gleich WS_CLIPCHILDREN -->
Excludes the area occupied by child windows when drawing occurs within the parent window. This style is used when creating the parent window.

Kann dein Programm mächtig ausbremsen und sollte wohl nur auf Parent-Fenster angewendet werden.

Bei mir funktioniert es in beiden Fällen nicht, egalk ob mit oder ohne SetStyle. Muss los zur Arbeit.
 
27.08.2008  
 




Jörg
Sellmeyer
Das hakt immer noch...
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
04.11.2011  
 



Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

6.381 Betrachtungen

Unbenanntvor 0 min.
Jörg Sellmeyer22.06.2020
Ernst19.05.2016
H.Brill09.04.2016
rquindt21.11.2015
Mehr...

Themeninformationen

Dieses Thema hat 2 Teilnehmer:

Jörg Sellmeyer (3x)
Frank Abbing (1x)


Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie