可不可以讓程式不要遮住工作列? |
答題得分者是:hagar
|
Sei
一般會員 發表:22 回覆:38 積分:17 註冊:2002-05-22 發送簡訊給我 |
請教各位前輩:
我本身是在1024*768的環境設計800*600的程式,設計完成後才會在800*600的環境測試,由於程式是填滿800*600環境,FORM是fsNormal並不是fsStayOnTop(因為怕遮住工作列)
正式測的時候,程式有時候會遮住工作列,有時候不會(我也不知道為什麼),有一些年紀較長的使用者工具列被遮住後,會覺得很不方便(教他們用alt tab切畫面,他們就覺得麻煩~"~),然後我就設計了720*540,demo後畫面縮小又有人覺得不滿意了(我之所以會設計720*540是因為在Position的地方沒有靠螢幕上方對齊的項目,一般我都是用poScreenCenter,結果上上下下一減就變成720*540)
我大概用「工作列」search了一下,有看到阿子版主的SHAppBarMessage(在D5這句直接按F1找不到),不知道像我的情況適不適合(我希望能達到800*600展開,可是不遮住工作列)? 發表人 - Sei 於 2004/05/12 09:58:16
|
hagar
版主 發表:143 回覆:4056 積分:4445 註冊:2002-04-14 發送簡訊給我 |
|
Sei
一般會員 發表:22 回覆:38 積分:17 註冊:2002-05-22 發送簡訊給我 |
引言: 試試 Main Form 的 Align 屬性設為 alClient嗯……這樣也對,那我大概要在一開始就判斷使用者是不是有1024*768 再另做form的屬性設定 又,我剛剛在google有爬到一篇文章 http://www.jazarsoft.com/codebook/view.php?id=128 uses ShellApi; function GetTaskBarAlwaysOnTop:Boolean; var ABData: TAppBarData; begin ABData.cbSize := SizeOf(ABData); ABData.hWnd :=FindWindow('Shell_TrayWnd', ''); Result := ((SHAppBarMessage(ABM_GETSTATE, ABData) and ABS_ALWAYSONTOP) = ABS_ALWAYSONTOP); end;其實我是很好奇,既然已經在工作列上設定「最上層顯示」,我也沒有設fsStayOnTop,又為何會被程式檔住?難道有什麼「優先順序的問題」嗎? |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |