Beispiel #1
0
    def onMESSAGE(self, hwnd, msg, wp, lp):

        if msg == fw.WND_WM_NOTIFY:
            if wp == fw.WND_NM_MSGREFLECT:
                msgr = fw.WND_MSGREFLECT.from_address(lp)
                msgr.fReturn = self._base_fMsgReflect
                if msgr.msg == self.Msg.WM_DRAWITEM:
                    di = DRAWITEMSTRUCT.from_address(msgr.lParam)
                    self.onMSG(hwnd, "drawitem", 0, di)
                    return 1
                elif msgr.msg == self.Msg.WM_COMMAND:
                    self.onMSG(hwnd, "command", 0, 0)
            return 0

        elif msg == self.Msg.WM_LBUTTONDBLCLK:
            # required to trigger ownerdraw messages
            if self.GetStyleL('style') & self.Style.BS_OWNERDRAW:
                self.DefWindowProc(self.Hwnd, self.Msg.WM_LBUTTONDOWN, wp, lp)
                return 0
        elif msg == self.Msg.WM_SETFOCUS:
            self.onMSG(hwnd, "setfocus", wp, lp)
        elif msg == self.Msg.WM_KILLFOCUS:
            self.onMSG(hwnd, "killfocus", wp, lp)
        elif msg == self.Msg.WM_DESTROY:
            self.onMSG(hwnd, "destroy", 0, 0)
Beispiel #2
0
	def onMESSAGE(self, hwnd, msg, wp, lp):
		
		if msg==fw.WND_WM_NOTIFY:
			if wp==fw.WND_NM_MSGREFLECT:
				msgr= fw.WND_MSGREFLECT.from_address(lp)
				msgr.fReturn= self._base_fMsgReflect
				
				if msgr.msg==self.Msg.WM_DRAWITEM:
					di=DRAWITEMSTRUCT.from_address(msgr.lParam)
					if self._client_odState[2]:
						# preprocess selection state changes
						if di.itemAction==di.SELECTCHANGE and not di.itemState & di.SELECTED:
							self._client_odState[0] +=1
							if self._client_odState[0] >= self._client_odState[1]:
								self._client_odState[0]=0
					self.onMSG(hwnd, "drawitem", 0, di)
					return 1
				return 0
				
				elif msgr.msg==self.Msg.WM_COMMAND:
					if self.IsChecked():
						self.onMSG(hwnd, "checked", 0, 0)
					elif self.IsGraychecked():
						self.onMSG(hwnd, "graychecked", 0, 0)
					else:
						self.onMSG(hwnd, "unchecked", 0, 0)
			return 0
Beispiel #3
0
	def onMESSAGE(self, hwnd, msg, wp, lp):
		
		if msg==fw.WND_WM_NOTIFY:
			if wp==fw.WND_NM_MSGREFLECT:
				msgr= fw.WND_MSGREFLECT.from_address(lp)
				msgr.fReturn= self._base_fMsgReflect
				if msgr.msg==self.Msg.WM_DRAWITEM:
					di=DRAWITEMSTRUCT.from_address(msgr.lParam)
					self.onMSG(hwnd, "drawitem", 0, di)
					return 1
				elif msgr.msg==self.Msg.WM_COMMAND:
					self.onMSG(hwnd, "command", 0, 0)
			return 0
		
		elif msg==self.Msg.WM_LBUTTONDBLCLK:
			# required to trigger ownerdraw messages 
			if self.GetStyleL('style') & self.Style.BS_OWNERDRAW:
				self.DefWindowProc(self.Hwnd, self.Msg.WM_LBUTTONDOWN, wp, lp)
				return 0
		elif msg==self.Msg.WM_SETFOCUS: self.onMSG(hwnd, "setfocus", wp, lp)
		elif msg==self.Msg.WM_KILLFOCUS: self.onMSG(hwnd, "killfocus", wp, lp)
		elif msg==self.Msg.WM_DESTROY: self.onMSG(hwnd, "destroy", 0, 0)