| |
|
|
- Seite 1 - |
|
Jörg Sellmeyer | Schon bei diesem kleinen Code flackert das Fenster, wenn man die Größe verändert. Ich finde, das sollte nicht sein. Oder gibts einen Trick, um das auch mit Hausmitteln sicher und nicht zu umständlich zu unterbinden? KompilierenMarkierenSeparieren |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 08.09.2008 ▲ |
|
|
|
|
| |
|
- Seite 1 - |
|
| Stimmt, es ist immer noch "da".
Zum Glück gilt dies nur für das %hWnd, drum nutze ich das auch immer nur für die Messages und verstecke es meist per 1024 | 2048 . |
|
|
| |
|
|
|
| Hier, das läuft sehr schön: KompilierenMarkierenSeparieren {$cleq}
windowstyle 1024 | 80
window 0,0 - 0,0
windowstyle 4 | 8 | 512
var h&=createWindow(0,"test",10,10,200,300)
Var cb& = Create("CheckBox",h&,"Test",10,2,100,24)
Var lv& = Create("GridBox",h&,"Test",0,10,30,400,400)
AddString(LV&,"Test")
While 1
WaitInput
case %key=2 : break
Wend
|
|
|
| |
|
|
|
Jörg Sellmeyer | Ist zumindest ne kreative Idee, aber z.B. Mausklicks auf dem Fenster werden nicht mehr weitergeleitet. Füg mal AddString(lv&,Str$(%mousepressed)) hinter WaitInput ein. |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 09.09.2008 ▲ |
|
|
|
|
| UserMessage wm_lButtonDown oder subclass lv&,1
Nachtrag: UserMessage wm_lButtonDown geht nicht wirklich. |
|
|
| |
|
|
|
Jörg Sellmeyer | Wobei man schon bei einigen Umwegen ist. Btw.: auf dem lv& funktioniert das mit %mousepressed sogar so. Ich finde aber, Profan sollte einfach von sich aus nicht flackern |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 09.09.2008 ▲ |
|
|
|
|
| Ist garnicht schlimm: KompilierenMarkierenSeparierenwindowstyle 1024 | 80
window 0,0 - 0,0
windowstyle 4 | 8 | 512
var h&=createWindow(0,"test",10,10,200,300)
Var cb& = Create("CheckBox",h&,"Test",10,2,100,24)
Var lv& = Create("GridBox",h&,"Test",0,10,30,400,400)
AddString(LV&,"Test")
subClass lv&,1
While 1
WaitInput
case %key=2 : break
Wend
subClassProc
if &sWnd==lv&
if %sMessage=wm_lButtonDown
endif
endif
endproc
und hat auch eine sauberere Struktur. |
|
|
| |
|
|
|
Frank Abbing | So gehts: KompilierenMarkierenSeparieren {$iq}
Cls
SetClassLong(%hwnd, GCL_STYLE, (GetClassLong(%hwnd, GCL_STYLE)- CS_HREDRAW - CS_VREDRAW))
Var cb& = Create("CheckBox",%hwnd,"Test",10,2,100,24)
Var lv& = Create("GridBox",%hwnd,"Test",0,10,30,400,400)
AddString(LV&,"Test")
While 1
WaitInput
Wend
|
|
|
| |
|
|
| |
|
- Seite 2 - |
|
|
RGH | Und das Ganze in reinem XProfan (ohne XPSE): KompilierenMarkierenSeparieren $H windows.ph
Cls
~SetClassLong(%hwnd, ~GCL_STYLE, (~GetClassLong(%hwnd, ~GCL_STYLE)- ~CS_HREDRAW - ~CS_VREDRAW))
Var cb& = Create("CheckBox",%hwnd,"Test",10,2,100,24)
Var lv& = Create("GridBox",%hwnd,"Test",0,10,30,400,400)
AddString(LV&,"Test")
While 1
WaitInput
Wend
Gruß Roland (überprüft, ob man generell beim Hauptfenster auf die Styles HREDRAW und VREDRAW verzichten könnte)
Nachtrag: Derzeit hat das Hauptfenster im Normalfall die Stile ws_OverlappedWindow | cs_VRedraw | cs_HRedraw | cs_OwnDC | cs_ByteAlignWindow |
|
|
| Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 09.09.2008 ▲ |
|
|
|
|
| set("doNotUnUnFlickerTheHwndWindowPlease",1) |
|
|
| |
|
|
|
Jörg Sellmeyer | RGH
~SetClassLong(%hwnd, ~GCL_STYLE, (~GetClassLong(%hwnd, ~GCL_STYLE)- ~CS_HREDRAW - ~CS_VREDRAW))
Genial! Genau sowas habe ich erhofft!
RGH
Gruß Roland (überprüft, ob man generell beim Hauptfenster auf die Styles HREDRAW und VREDRAW verzichten könnte)
hm, müßte dann nicht das hier genau das Gleiche bewirken? KompilierenMarkierenSeparieren $H Windows.ph
$H Messages.ph
userMessages ~wm_eraseBkGnd
Window 10,10,600,500
Var Style& = GetStyle(%hwnd)
print bin$(Style&)
SetStyle %hwnd,Style& | ~cs_HREDRAW | ~cs_VREDRAW
Window 10,10,601,501
print bin$(GetStyle(%hwnd))
waitinput
Var cb& = Create("CheckBox",%hwnd,"Test",10,2,100,24)
Var lv& = Create("GridBox",%hwnd,"Test",0,10,30,400,400)
AddString(LV&,"Test")
While 1
WaitInput
Wend
|
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 09.09.2008 ▲ |
|
|
|
|
| GWL ist nicht GCL bzw. SWL ist nicht SCL. |
|
|
| |
|
|
|
Jörg Sellmeyer | Ok - also noch ein Extrastyle. GCL bedeutet dann GetClassLong-Style |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 09.09.2008 ▲ |
|
|
|