去年以來筆者參與完成了國內(nèi)幾個(gè)商品軟件的開發(fā)工作,感覺到底這種實(shí)戰(zhàn)和平時(shí)自己練習(xí)編程不同,短時(shí)間內(nèi)編程水平得到極大的提高。有些項(xiàng)目是用VB做的,接這些項(xiàng)目之前本人還根本沒有用過VB,雖然VB較之VC++為簡單,容易入門,但是要弄得清楚徹底也不是易事,在開發(fā)中,本人積累了一些經(jīng)驗(yàn),在此寫出來與大家共享,有偏頗之處請指正。下面將針對開發(fā)中具體的問題逐一展開敘述:
一、界面設(shè)計(jì)
1、一般性原則
界面設(shè)計(jì)的一般性原則,對C++的程序員也適用。
界面的整體性。整體性在界面設(shè)計(jì)中最容易違反,同時(shí)也最容易修改和避免。例如,在菜單和聯(lián)機(jī)幫助中必須使用相同的術(shù)語;對話框必須具有相同的風(fēng)格;美工在對圖案、圖標(biāo)等設(shè)計(jì)時(shí)必須考慮到統(tǒng)一、協(xié)調(diào)和美觀等等。
良好的交互性。對于某些軟件來說,其使用者往往不是計(jì)算機(jī)的專業(yè)人員,因此需要具有友好交互的界面,對操作人員的重要操作要提供信息反饋。設(shè)計(jì)良好的聯(lián)機(jī)幫助。雖然對于熟練用戶來說,聯(lián)機(jī)幫助并非必不可少,但是對于大多數(shù)不熟練的新用戶來說,聯(lián)機(jī)幫助具有非常重要的作用。
操作的便捷性。常用操作的使用頻度大,應(yīng)該減少操作序列的長度。例如,為文件的常用操作如打開、存盤、另存等設(shè)置快捷鍵。使常用操作具有捷徑,不僅會提高用戶的工作效率,還使得界面在功能實(shí)現(xiàn)上簡潔和高效。
設(shè)置錯(cuò)誤處理。使用者操作中可能出現(xiàn)許多在程序設(shè)計(jì)沒注意的問題,在測試時(shí)也沒有發(fā)現(xiàn),所以必須提供簡單和容易理解的錯(cuò)誤處理功能,在出現(xiàn)錯(cuò)誤時(shí),系統(tǒng)應(yīng)該能檢測出錯(cuò)誤,錯(cuò)誤出現(xiàn)后系統(tǒng)的狀態(tài)不發(fā)生變化,或者系統(tǒng)要提供錯(cuò)誤恢復(fù)的指導(dǎo)。
2、軟件封面技術(shù)
封面技術(shù)在軟件開發(fā)中越來越成為一種標(biāo)準(zhǔn),一個(gè)漂亮而醒目的封面會使軟件更加充滿魅力,拿微軟的VB5.0、VC++5.0來說,其簡潔美觀、具有真實(shí)三維效果的封面給所有使用者留下了深刻的印象。
要制作一個(gè)專業(yè)的軟件封面,首先制作一個(gè)用于封面的窗體,命名為FrmCover。
將該窗體屬性中的BorderStyle設(shè)置為0-None,并將Appearence屬性設(shè)為1-3D,在FrmCover窗體中可加入PictureBox或Image設(shè)置封面圖案,加入TextBox或Label顯示文字信息。
加入一個(gè)Timer,計(jì)時(shí)到指定時(shí)間關(guān)閉FrmCover。
在主程序啟動時(shí),先ShowFrmCover,并按下面的代碼設(shè)置封面總保持在最前面。
聲明部分:
PublicConstHWND_MOST=-1
PublicConstHWND_NOMOST=-2
PublicConstSWP_NOMOVE=&H2
PublicConstSWP_NOSIZE=&H1
PublicConstMOST_FLAGS=
SWP_NOMOVEOrSWP_NOSIZE
PublicDeclareFunctionSetWindowPosLib"user32"Alias"SetWindowPos"(ByValhwndAsLong,ByValhWndInsertAfterAsLong,ByValxAsLong,ByValyAsLong,
ByValcxAsLong,ByValcyAsLong,ByValwFlagsAsLong)AsLong
'hWnd為作為封面窗體的句柄
'hWndInsertAfter指示為封面窗體前載入的窗體
'X為封面窗體左上角的X坐標(biāo)
'Y為封面窗體左上角的Y坐標(biāo)
'cx為窗體新寬度
'cy為窗體新高度
'wFlags影響窗體大小和位置的16位值
'SWP_NOMOVE為不移動窗體,即忽略cx和cy
'SWP_NOSIZE為不改變窗體大小,即忽略X和Y
調(diào)用部分:
PrivateSubForm_Load()
DimrAsLong
r=SetWindowPos(Me.hwnd,
HWND_MOST,0,0,0,0,MOST_FLAGS)
EndSub
一、界面設(shè)計(jì)
1、一般性原則
界面設(shè)計(jì)的一般性原則,對C++的程序員也適用。
界面的整體性。整體性在界面設(shè)計(jì)中最容易違反,同時(shí)也最容易修改和避免。例如,在菜單和聯(lián)機(jī)幫助中必須使用相同的術(shù)語;對話框必須具有相同的風(fēng)格;美工在對圖案、圖標(biāo)等設(shè)計(jì)時(shí)必須考慮到統(tǒng)一、協(xié)調(diào)和美觀等等。
良好的交互性。對于某些軟件來說,其使用者往往不是計(jì)算機(jī)的專業(yè)人員,因此需要具有友好交互的界面,對操作人員的重要操作要提供信息反饋。設(shè)計(jì)良好的聯(lián)機(jī)幫助。雖然對于熟練用戶來說,聯(lián)機(jī)幫助并非必不可少,但是對于大多數(shù)不熟練的新用戶來說,聯(lián)機(jī)幫助具有非常重要的作用。
操作的便捷性。常用操作的使用頻度大,應(yīng)該減少操作序列的長度。例如,為文件的常用操作如打開、存盤、另存等設(shè)置快捷鍵。使常用操作具有捷徑,不僅會提高用戶的工作效率,還使得界面在功能實(shí)現(xiàn)上簡潔和高效。
設(shè)置錯(cuò)誤處理。使用者操作中可能出現(xiàn)許多在程序設(shè)計(jì)沒注意的問題,在測試時(shí)也沒有發(fā)現(xiàn),所以必須提供簡單和容易理解的錯(cuò)誤處理功能,在出現(xiàn)錯(cuò)誤時(shí),系統(tǒng)應(yīng)該能檢測出錯(cuò)誤,錯(cuò)誤出現(xiàn)后系統(tǒng)的狀態(tài)不發(fā)生變化,或者系統(tǒng)要提供錯(cuò)誤恢復(fù)的指導(dǎo)。
2、軟件封面技術(shù)
封面技術(shù)在軟件開發(fā)中越來越成為一種標(biāo)準(zhǔn),一個(gè)漂亮而醒目的封面會使軟件更加充滿魅力,拿微軟的VB5.0、VC++5.0來說,其簡潔美觀、具有真實(shí)三維效果的封面給所有使用者留下了深刻的印象。
要制作一個(gè)專業(yè)的軟件封面,首先制作一個(gè)用于封面的窗體,命名為FrmCover。
將該窗體屬性中的BorderStyle設(shè)置為0-None,并將Appearence屬性設(shè)為1-3D,在FrmCover窗體中可加入PictureBox或Image設(shè)置封面圖案,加入TextBox或Label顯示文字信息。
加入一個(gè)Timer,計(jì)時(shí)到指定時(shí)間關(guān)閉FrmCover。
在主程序啟動時(shí),先ShowFrmCover,并按下面的代碼設(shè)置封面總保持在最前面。
聲明部分:
PublicConstHWND_MOST=-1
PublicConstHWND_NOMOST=-2
PublicConstSWP_NOMOVE=&H2
PublicConstSWP_NOSIZE=&H1
PublicConstMOST_FLAGS=
SWP_NOMOVEOrSWP_NOSIZE
PublicDeclareFunctionSetWindowPosLib"user32"Alias"SetWindowPos"(ByValhwndAsLong,ByValhWndInsertAfterAsLong,ByValxAsLong,ByValyAsLong,
ByValcxAsLong,ByValcyAsLong,ByValwFlagsAsLong)AsLong
'hWnd為作為封面窗體的句柄
'hWndInsertAfter指示為封面窗體前載入的窗體
'X為封面窗體左上角的X坐標(biāo)
'Y為封面窗體左上角的Y坐標(biāo)
'cx為窗體新寬度
'cy為窗體新高度
'wFlags影響窗體大小和位置的16位值
'SWP_NOMOVE為不移動窗體,即忽略cx和cy
'SWP_NOSIZE為不改變窗體大小,即忽略X和Y
調(diào)用部分:
PrivateSubForm_Load()
DimrAsLong
r=SetWindowPos(Me.hwnd,
HWND_MOST,0,0,0,0,MOST_FLAGS)
EndSub