588{
597
599
602
605
606 switch (uMsg)
607 {
609 switch(btn_type)
610 {
622 }
623
625#ifndef __REACTOS__
627 if (theme)
629 else
630#endif
632 break;
633
635 infoPtr = heap_alloc_zero( sizeof(*infoPtr) );
638#ifdef __REACTOS__
639 SetRect(&infoPtr->rcTextMargin, 1,1,1,1);
640#endif
642
646 break;
647
650 return -1;
651
652
654 {
657 }
660 return 0;
661
665 break;
666
667 case WM_THEMECHANGED:
671#ifdef __REACTOS__
673#endif
674 break;
675
678 {
681 HBRUSH hBrush;
685 if (!hBrush)
690 }
691 return 1;
692
695 {
698
701
702#ifdef __REACTOS__
704 {
706 return 0;
707 }
708#else
710 {
713
715 {
720 }
721 else
723
726 }
727#endif
729 {
733 }
734
736 break;
737 }
738
741 {
745 }
746 break;
747
753 {
755 break;
756 }
757
763 break;
764
767 break;
768
774 {
776 break;
777 }
781 {
782 switch(btn_type)
783 {
786 break;
788#ifdef __REACTOS__
790#else
792#endif
793 break;
796 ((infoPtr->
state & 3) + 1), 0 );
797 break;
798 }
799#ifdef __REACTOS__
800
803#else
806#endif
807 }
808 else
809 {
811 }
812
813 break;
814
819 {
823 }
824 break;
825
827 {
831
832#ifdef __REACTOS__
834 {
836
838
844
846 if (theme)
848 }
849
851 {
856 }
857#else
858
860 {
865 }
866#endif
867
869 {
872 }
873 break;
874 }
875
876#ifndef __REACTOS__
878 {
881 break;
882 }
883#endif
884
886 {
887#ifdef __REACTOS__
889 {
891
892 infoPtr->
state &= ~BST_HOT;
893
899
901 if (theme)
903 }
904 break;
905#else
906 infoPtr->
state &= ~BST_HOT;
908 break;
909#endif
910 }
911
912#ifdef __REACTOS__
914 {
918 *
prc = infoPtr->rcTextMargin;
920 }
922 {
926 infoPtr->rcTextMargin = *
prc;
928 }
930 {
932 if (!pimldata || !pimldata->
himl)
934 infoPtr->imlData = *pimldata;
936 }
938 {
940 if (!pimldata)
942 *pimldata = infoPtr->imlData;
944 }
946 {
950
951 if (!pSize)
952 {
954 }
955
959 {
960 ret = BUTTON_GetIdealSize(infoPtr, theme, pSize);
961 }
962
964 {
968 }
969
971 }
972#endif
973
975 {
976
977#ifdef __REACTOS__
978
979
980
981
982
983
985#else
987#endif
988 {
998
1005
1008
1012
1017 }
1018
1022 else
1024 return 1;
1025 }
1026
1030 break;
1031
1034
1038#ifdef __REACTOS__
1041 else
1042#endif
1046#ifdef __REACTOS__
1049 {
1051 }
1052#endif
1053 break;
1054
1057 infoPtr->
state &= ~BST_FOCUS;
1058#ifndef __REACTOS__
1060#endif
1061
1066
1068 break;
1069
1072 break;
1073
1078
1079
1082
1083 break;
1084
1086#ifdef __REACTOS__
1087
1088 if (infoPtr->
state & BUTTON_BMCLICK)
1089 break;
1090 infoPtr->
state |= BUTTON_BMCLICK;
1091#endif
1094#ifdef __REACTOS__
1095 infoPtr->
state &= ~BUTTON_BMCLICK;
1096#endif
1097 break;
1098
1100
1102 {
1105 break;
1108 break;
1109 default:
1110 return 0;
1111 }
1112 oldHbitmap = infoPtr->
u.
image;
1116
1119
1121 return infoPtr->
state & 3;
1122
1126 {
1129 }
1131 {
1134 }
1135#ifndef __REACTOS__
1138#endif
1139 break;
1140
1142 return infoPtr->
state;
1143
1147
1149 {
1152 else
1153 state &= ~BST_PUSHED;
1154
1158
1160 }
1161 break;
1162
1163#ifdef __REACTOS__
1164 case WM_UPDATEUISTATE:
1166
1167 if (button_update_uistate(infoPtr))
1169 break;
1170#endif
1171
1174
1175 default:
1177 }
1178 return 0;
1179}
HTHEME WINAPI OpenThemeData(HWND hwnd, LPCWSTR classlist)
HTHEME WINAPI GetWindowTheme(HWND hwnd)
HRESULT WINAPI CloseThemeData(HTHEME hTheme)
unsigned short(__cdecl typeof(TIFFCurrentDirectory))(struct tiff *)
static HTHEME(WINAPI *pOpenThemeDataEx)(HWND
#define BS_DEFCOMMANDLINK
#define BCN_HOTITEMCHANGE
#define BCM_SETTEXTMARGIN
#define BS_DEFSPLITBUTTON
struct tagTRACKMOUSEEVENT TRACKMOUSEEVENT
#define BCM_GETTEXTMARGIN
int WINAPI FillRect(HDC, LPCRECT, HBRUSH)
int WINAPI SetBkMode(_In_ HDC, _In_ int)
HWND WINAPI SetCapture(_In_ HWND hWnd)
int WINAPI ReleaseDC(_In_opt_ HWND, _In_ HDC)
BOOL WINAPI IsWindow(_In_opt_ HWND)
#define WM_CTLCOLORSTATIC
BOOL WINAPI RedrawWindow(_In_opt_ HWND, _In_opt_ LPCRECT, _In_opt_ HRGN, _In_ UINT)
void WINAPI mouse_event(_In_ DWORD, _In_ DWORD, _In_ DWORD, _In_ DWORD, _In_ ULONG_PTR)
BOOL WINAPI ReleaseCapture(void)
LRESULT WINAPI DefWindowProcW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
#define WM_CAPTURECHANGED
LONG WINAPI SetWindowLongW(_In_ HWND, _In_ int, _In_ LONG)
#define DLGC_UNDEFPUSHBUTTON
HWND WINAPI GetCapture(void)
BOOL WINAPI TrackMouseEvent(_Inout_ LPTRACKMOUSEEVENT)
#define WM_SYSCOLORCHANGE
#define DLGC_DEFPUSHBUTTON
BOOL WINAPI PtInRect(_In_ LPCRECT, _In_ POINT)
BOOL WINAPI GetClientRect(_In_ HWND, _Out_ LPRECT)
HWND WINAPI SetFocus(_In_opt_ HWND)
BOOL WINAPI EndPaint(_In_ HWND, _In_ const PAINTSTRUCT *)
HDC WINAPI GetDC(_In_opt_ HWND)
BOOL WINAPI InvalidateRect(_In_opt_ HWND, _In_opt_ LPCRECT, _In_ BOOL)
HDC WINAPI BeginPaint(_In_ HWND, _Out_ LPPAINTSTRUCT)
#define SetWindowLongPtrW
BOOL WINAPI InflateRect(_Inout_ LPRECT, _In_ int, _In_ int)
BOOL WINAPI IsWindowVisible(_In_ HWND)