| |
|
|
 Ernst | d'abord la fois qui TestCode KompilierenMarqueSéparation {$Iq}
Set("ErrorLevel",2)
Set("FastMode",1)
Declare WndClass#
Declare hwndClass$
Declare hwndName$
Struct myWindowClass = ~WNDCLASS
Dim WndClass#,myWindowClass
Declare msg#
struct tmsg = ~msg
Dim msg#,tmsg
hwndClass$ = "mywindow"
hwndName$ = "Test_Fenster"
'*****************************************************************************************
Proc WinMain
With WndClass#
.style& = ~CS_HREDRAW | ~CS_VREDRAW
.lpfnWndProc& = ProcAddr(Fensterproc,4)
.cbClsExtra& = 0
.cbWndExtra& = 0
.hInstance& = %hInstance
.hIcon& = ~LoadIcon(0,~IDI_Winlogo)
.hCursor& = ~LoadCursor(0, ~IDC_ARROW)
.hbrBackground& = ~createsolidbrush(RGB(150,150,150))
.lpszMenuName& = 0
.lpszClassName& = Addr(hwndClass$)
EndWith
~RegisterClass(WndClass#)
dispose wndclass#
var hwnd& = ~CreateWindowEx(0,Addr(hwndClass$),Addr(hwndName$),$02CA0000,100,100,1000,700,0,0,%hInstance,0)
~ShowWindow(hwnd&, ~SW_SHOWNORMAL)
While ~GetMessage(Msg#, 0, 0, 0) > 0
~TranslateMessage(Msg#)
~DispatchMessage(Msg#)
EndWhile
EndProc
'*****************************************************************************************
WinMain
dispose msg#
END
' ****************************************************************************************
nProc FensterProc
Parameters Wnd&, Message&, wParam&, lParam&
Var wDC&=~getDC(wnd&)
IF message& = ~WM_CLOSE
~PostQuitMessage(0)
ElseIf message& = ~wm_mousemove
LONG hv=dim(16)
setlong(hv&,0,16)
setlong(hv&,4,~TME_HOVER | ~TME_LEAVE)
setlong(hv&,8,wnd&)
setlong(hv&,12,~HOVER_DEFAULT)
~TrackMouseEvent(hv&)
dispose(hv&)
' test_1(wDC&,wnd&)
ElseIF message& = ~wm_mousehover
test_1(wDC&,wnd&)
ElseIF message& = ~wm_mouseleave
test_2(wDC&,wnd&)
EndIf
Return ~DefWindowProc(Wnd&, Message&, wParam&, lParam&)
EndProc
'*****************************************************************************************
nproc test_1
Parameters wDC&,Wnd&
LONG c_rect=Dim(16)
LONG text=dim(255)
~GetClientRect(Wnd&,c_rect)
~DeleteObject(~SelectObject(wDC& ~CreateSolidBrush(rgb(0,255,0))))
~DeleteObject(~SelectObject(wDC&, ~CreatePen(~PS_SOLID, 1,rgb(0,255,0))))
~RoundRect(wDC&, 400, 300, LONG(c_rect,8)-300,long(c_rect,12)-300, 20, 20)
~SetBkMode(wDC&, ~TRANSPARENT)
~SetTextColor(wDC&,rgb(255,255,0))
~GetWindowText(Wnd&, Text, ~globalsize(Text)-1)
~DrawTextEx(wDC&,Text,Len(STRING$(Text,0)),c_rect,~DT_SINGLELINE | ~DT_VCENTER | ~DT_CENTER,0)
dispose(c_rect)
dispose(text)
EndProc
' ----------------------------------------------------------------------------------------
nproc test_2
Parameters wDC&,Wnd&
LONG c_rect=Dim(16)
~GetClientRect(Wnd&,c_rect)
~DeleteObject(~SelectObject(wDC& ~CreateSolidBrush(rgb(255,255,0))))
~DeleteObject(~SelectObject(wDC&, ~CreatePen(~PS_SOLID, 1,rgb(255,255,0))))
~RoundRect(wDC&, 400, 300, LONG(c_rect,8)-300,long(c_rect,12)-300, 20, 20)
dispose(c_rect)
EndPr
'*****************************************************************************************
si je qui souris ununterbrochen dedans des Fensters bewege (doit pas vite son) so gibt es pour ca. 15 jusqu'à max. 30 sec folgende Situationen: a/ roundrect (vert) friert un (wechselt pas pour jaune , si le souris außerhalb des Fensters ist) b/ roundrect (vert) wird à gauche au-dessus de dans sais nochmal abgebildet. si je cette Situtation (chez beiden Opportunités) cela la fenêtre Déplacer veux gibt es qui wüstesten Bildschirmeffekte.  c'est aussi égal si je test_1 unter wm_mousemove ou bien wm_mousehover aufrufe; irgendwo bien sûr, là oui beide messages chez Mausbewegungen andauernd gefeuert volonté, mais cela pourrait doch seulement un extremes Flackern des roundrect hervorrufen.  Hab je là irgendwas übersehen ?? |
|
|
| |
|
|
|
 Nico Madysa | Habe den Voir le texte source justement seulement survolés, mais si du dir un Handle avec GetDC donner peut, musst du es pas hinterher aussi avec ReleaseDC wieder freigeben?
[OFFTOPIC] Blöder Kommentar am Rande: si dein XProfan-Voir le texte source so aussieht, peux du aussi juste C ou bien C++ écrivons.  [/OFFTOPIC] |
|
|
| |
|
|
|
 Ernst | Ernst (17.05.14)
Hab je là irgendwas übersehen ??
@Nico Uiuiuiui - et comment je quoi übersehen habe - merci pour deinen Aufklärungsflug (je hätte es sûrement encore stundenlang übersehen)
[OFFTOPIC] dein blöder Kommentar am Rande ist pas so blöd, mais à cause de qui nProcs verwende je doch vermehrt APIs [/OFFTOPIC] |
|
|
| |
|
|