کلینیک فوق تخصصی اکسس ( کاربرد vba در اکسس )

کلینیک فوق تخصصی اکسس ( کاربرد vba در اکسس )

به اشتراک گذاری اطلاعات کسب شده در اکسس از سایت آفیس و سایت های تخصصی خارجی
کلینیک فوق تخصصی اکسس ( کاربرد vba در اکسس )

کلینیک فوق تخصصی اکسس ( کاربرد vba در اکسس )

به اشتراک گذاری اطلاعات کسب شده در اکسس از سایت آفیس و سایت های تخصصی خارجی

NCPAINT


Region GetDCExFlags

Const DCX_WINDOW=&H1
Const DCX_CACHE=&H2
Const DCX_NORESETATTRS=&H4
Const DCX_CLIPCHILDREN=&H8
Const DCX_CLIPSIBLINGS=&H10
Const DCX_PARENTCLIP=&H20
Const DCX_EXCLUDERGN=&H40
Const DCX_INTERSECTRGN=&H80
Const DCX_EXCLUDEUPDATE=&H100





  : Message WM_NCPAINT
HDC hdc
RECT Winrect
HBRUSH b
HPEN pe

hdc=GetDCEx(hwnd
 HRGN)wParam,DCX_WINDOW Or DCX_CACHE Or)
(DCX_INTERSECTRGN Or DCX_LOCKWINDOWUPDATE

GetWindowRect hwnd,Winrect

((b=CreateSolidBrush(RGB(0,180,180

SelectObject hdc,B

(pe=CreatePen(PS_SOLID,1,RGB(90, 90, 90

SelectObject hdc,pe

Rectangle hdc,0,0,(rect.right-rect.left),(rect.bottom
(rect.top-

DeleteObject pe

DeleteObject B

ReleaseDC hwnd,hdc

RedrawWindow hwnd,Winrect
(HRGN)wParam,RDW_UPDATENOW,

return 0



NC_Paint is better because it will only paint when needed.


WM_NCPAINT
(DefWindowProc(hwnd, msg, wparam, lparam
let the defaultWNDPROC handle most of it'
(hdc = GetWindowDC(hwnd
Rectangle hdc,150,3,250,23) 'then draw in your button
("TextOutW hdc,153,4,"New Button",10
ReleaseDC hwnd, hdc
return 0



Step 4: the Window Procedure

WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)

Select Case msg

case WM_CLOSE
DestroyWindow hwnd

case WM_NCHITTEST
if(CallWindowProc(OldProc,hwnd,msg,wParam,lParam)=HTCAPTION) Then
return 0
else
CallWindowProc hwnd, msg,wParam, lParam
End if

case WM_NCCALCSIZE

if(wParam=TRUE) Then
LPNCCALCSIZE_PARAMS lpncsp = (LPNCCALCSIZE_PARAMS)lParam

lpncsp.rgrc(0).left += 5
lpncsp.rgrc(0).top += 100
lpncsp.rgrc(0).right -= 5
lpncsp.rgrc(0).bottom -= 5
return 0
else
CallWindowProc OldProc,hwnd, msg, wParam, lParam
End if

case WM_NCLBUTTONDBLCLK
return NULL
break;
case WM_NCLBUTTONUP
return NULL
break
case WM_DESTROY
PostQuitMessage 0
break
case WM_NCACTIVATE
////// what i do here.'
return FALSE
break

case WM_NCPAINT

m=(HRGN)wParam
hdic=GetDCEx(hwnd,(HRGN)wParam,DCX_WINDOW 
(Or DCX_CACHE Or DCX_INTERSECTRGN
GetWindowRect hwnd,Winrect
((b=CreateSolidBrush(RGB(180,180,180
SelectObject hdic,b
((pe=CreatePen(PS_SOLID,1,RGB(90, 90, 90
SelectObject hdic,pe
Rectangle hdic,0,0,(rect.right-rect.left),(rect.bottom-rect.top)
DeleteObject pe
DeleteObject b

ReleaseDC hwnd,hdic
RedrawWindow hwnd,Winrect,(HRGN)wParam,RDW_UPDATENOW
return 0

نظرات 0 + ارسال نظر
برای نمایش آواتار خود در این وبلاگ در سایت Gravatar.com ثبت نام کنید. (راهنما)
ایمیل شما بعد از ثبت نمایش داده نخواهد شد