📄 addnew.inc
字号:
IDD_DLG_ADDNEW equ 1000
IDC_STC4 equ 1001
IDC_SEARCH_EDT_WORD equ 1002
IDC_STC5 equ 1003
IDC_EDT_PHRASE equ 1004
IDC_STC6 equ 1005
IDC_SEARCH_EDT_EXPL equ 1006
IDC_BTN_OK equ 1007
IDC_BTN_CANCEL equ 1008
IDC_STC9 equ 1009
IDC_EDT_PHON equ 1010
IDC_STC10 equ 1011
IDC_EDT_EG equ 1012
IDC_EDT_LEGEND equ 1013
IDC_STC11 equ 1014
AddNewPaint proto hWin:dword
AddNewInit proto hWin:dword
AddNewOk proto hWin:dword
.data?
hEdit_Word dd ?
hEdit_Phrase dd ?
hEdit_Eg dd ?
hEdit_Phone dd ?
hEdit_Legend dd ?
hEdit_Explain dd ?
.code
AddNewInit proc hWin:dword
LOCAL tempfont:dword
invoke GetDlgItem,hWin,IDC_EDT_EG
mov hEdit_Eg ,eax
invoke GetDlgItem,hWin,IDC_SEARCH_EDT_EXPL
mov hEdit_Explain ,eax
invoke GetDlgItem,hWin,IDC_EDT_LEGEND
mov hEdit_Legend ,eax
invoke GetDlgItem,hWin,IDC_EDT_PHON
mov hEdit_Phone ,eax
invoke GetDlgItem,hWin,IDC_EDT_PHRASE
mov hEdit_Phrase ,eax
invoke GetDlgItem,hWin,IDC_SEARCH_EDT_WORD
mov hEdit_Word ,eax
invoke CreateFont,0,0,0,0,FW_DONTCARE,FALSE,FALSE,FALSE,DEFAULT_CHARSET,OUT_STRING_PRECIS,CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,FF_DONTCARE,SADD("Kingsoft Phonetic Plain")
invoke SendMessage,hEdit_Phone,WM_SETFONT,eax,TRUE
invoke CreateFont,0,0,0,0,FW_DONTCARE,FALSE,FALSE,FALSE,DEFAULT_CHARSET,OUT_STRING_PRECIS,CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,FF_DONTCARE,SADD("宋体")
;invoke CreateFont,-13,0,0,0,700,1,0,0,-122,3,2,1,2,SADD("华文仿宋")
mov tempfont,eax
invoke SendMessage,hEdit_Word,WM_SETFONT,tempfont,TRUE
invoke SendMessage,hEdit_Phrase,WM_SETFONT,tempfont,TRUE
invoke SendMessage,hEdit_Eg,WM_SETFONT,tempfont,TRUE
;invoke SendMessage,hEdit_Phone,WM_SETFONT,tempfont,TRUE
invoke SendMessage,hEdit_Legend,WM_SETFONT,tempfont,TRUE
;invoke CreateFontIndirect,addr temhdfont
invoke SendMessage,hEdit_Explain,WM_SETFONT,tempfont,TRUE
invoke SetWindowText,hEdit_Word,0
invoke SetWindowText,hEdit_Phrase,0
invoke SetWindowText,hEdit_Eg,0
invoke SetWindowText,hEdit_Phone,0
invoke SetWindowText,hEdit_Legend,0
invoke SetWindowText,hEdit_Explain,0
invoke LoadIcon,hInstance,102
push eax
invoke SendMessage,hWin,WM_SETICON,ICON_SMALL,EAX
pop eax
invoke SendMessage,hWin,WM_SETICON,ICON_BIG,EAX
ret
AddNewInit endp
AddNewOk proc hWin:dword
LOCAL lvi:LV_ITEM
LOCAL lbuf[256]:byte
LOCAL l_len:dword
LOCAL bgbuf[1024]:byte
LOCAL row:dword
;流程
;得到文本;插入数据库;
;得到文本数据;
invoke GetWindowText,hEdit_Word,addr buf_word,WORD_LEN
;若单词长度为0, 则退出
.if !eax
ret
.endif
invoke GetWindowText,hEdit_Phrase,addr buf_phrase,PHRASE_LEN
invoke GetWindowText,hEdit_Phone,addr buf_phon,PHON_LEN
invoke GetWindowText,hEdit_Legend,addr buf_legend,LEGD_LEN
invoke GetWindowText,hEdit_Explain,addr buf_expl,EXPL_LEN
invoke GetWindowText,hEdit_Eg,addr buf_eg,EXPL_LEN
;添加到数据库中;
invoke GetWindowText,hCombo,addr lbuf,256
invoke ODBCInserToDB,addr lbuf,addr buf_word,addr buf_expl,addr buf_phon,addr buf_phrase,addr buf_eg,addr buf_legend
invoke ODBCExeDirect,eax
;获得id号(ascii码格式),保存到lbuf中
;select id from %s where 单词='%s'
;添加到listbox中;
invoke SendMessage,hList,LB_ADDSTRING,0,addr buf_word
invoke SetFocus,hEdit_Word
ret
AddNewOk endp
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -