如何轉移「被選取的元件」? |
答題得分者是:herbert2
|
QooJC
一般會員 ![]() ![]() 發表:7 回覆:10 積分:3 註冊:2011-04-13 發送簡訊給我 |
|
herbert2
尊榮會員 ![]() ![]() ![]() ![]() ![]() ![]() 發表:58 回覆:640 積分:894 註冊:2004-04-16 發送簡訊給我 |
不知您為何不使用系統 Default 的 Tab and Shift-Tab 鍵來將焦點在 TWinControl 元件間移動?
Edit1 Tab 至 Edit2,再 Tab 又回到 Edit1 (若沒有其他 TWinControl 元件的話),Shift-Tab 又倒回到 Edit2。 Edit2->SetFocus(); 會強制焦點移到 Edit2。 若不想用 Tab 而想仿 Dos 用 Enter 鍵,站上亦有完整答案。 請多看 BCB Help 中元件的 Property、Event、Method 說明吧吧,否則等您逐次把問題問完, 怕老骨頭們已無法為您回答問題了! |
QooJC
一般會員 ![]() ![]() 發表:7 回覆:10 積分:3 註冊:2011-04-13 發送簡訊給我 |
===================引 用 herbert2 文 章=================== >不知您為何不使用系統 Default 的 Tab and Shift-Tab 鍵來將焦點在 TWinControl 元件間移動? >Edit1 Tab 至 Edit2,再 Tab 又回到 Edit1 (若沒有其他 TWinControl 元件的話),Shift-Tab 又倒回到 Edit2。 i193.photobucket.com/albums/z170/QooJC/Computer Science/VBCG/ErrorMessage-Focus.png >請多看 BCB Help 中元件的 Property、Event、Method 說明吧吧,否則等您逐次把問題問完, >怕老骨頭們已無法為您回答問題了! 抱歉……因為我在撰寫一個很大的程式,這個程式是我的期末專案作業;又因為這門課是我大學生涯的最後一門,我今年又考上了研究所;老師說一定要通過,如果沒寫出來,就沒辦法過,然後無法畢業,然後無法順利就讀研究所。 一時太急,沒多做說明,發問太倉促,抱歉~ ![]() 可是,我剛剛用貴站和谷歌的搜尋,找「BCB 元件 焦點」、「focus」、「BCB component focus」,都找不到耶;可以請您賜教一下嗎?感激不盡~!
編輯記錄
QooJC 重新編輯於 2011-06-20 09:18:38, 註解 無‧
|
herbert2
尊榮會員 ![]() ![]() ![]() ![]() ![]() ![]() 發表:58 回覆:640 積分:894 註冊:2004-04-16 發送簡訊給我 |
Error Message 很清楚的告訴您:
您不可以將焦點移到『Enabled 被設定為 false 而成為 Disabled 的』或『Visible 被設定為 false 而成為 看不見的』的元件上。 若您想要讓 User 不能 Key-In 或要讓 User 看不見,則 SetFocus() 前,要先將這兩個Property 改為 true。 要令 Edit1 只准輸入數字或英文字母,只要在其 ObKeyPress() Event 做處理便可, 甚至可依其他元件的狀態,決定 Edit1 在 Case 1 只准輸入數字,而在 Case 2 只准輸入英文字母。 若要避免 Edit1 輸入非數字而造成程式『發生嚴重錯誤』(一個小錯誤也不該發生呀), 有幾個地方可以阻擋: (1) 在 Edit1 的 OnKePress() Event (當焦點在 Edit1 時,按鍵盤便觸發此 Event) 便擋掉錯誤。 (2) 在 Edit1 的 OnExit() Event (當焦點要從 Edit1 轉到另一個 TwinControl 元件時便觸發此 Event) 檢查 Edit1->Text,若不如您意,便執行 Edit1->SetFocus() 使焦點又回到Edit1 而無法往下執行您的 『下一段程式碼』。 (3) 在您的『下一段程式碼』開始的第一句,便檢查 Edit1->text, 若不如您意,便執行 Edit1->SetFocus() 使焦點又回到Edit1 而無法往下執行您的『下一段程式碼』。 總之,方法很多,就看您想要做什麼。 設成「唯讀」 User 便無法 Key-In 了,並不須再將它設成 Disabled 呀?! 您那句 Error Message 就在告訴您,焦點無法移到 Disabled 的 Edit2 啦! 目前本站的搜尋無法正常運作,熱心的 bestlong 副站長正在努力修復中。 您要找的東東,其時在 BCB OnLine-Help 中都有提到,只是都是英文。 因您似乎看不懂 Error Message,我懷疑您不擅長程式語言中的英文說明?!
編輯記錄
herbert2 重新編輯於 2011-06-20 10:46:07, 註解 無‧
|
QooJC
一般會員 ![]() ![]() 發表:7 回覆:10 積分:3 註冊:2011-04-13 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |