[問題]要如何改寫TCSpinEdit 以便支援十六進位數字? |
尚未結案
|
Boy
一般會員 發表:5 回覆:10 積分:3 註冊:2002-11-30 發送簡訊給我 |
|
RaynorPao
版主 發表:139 回覆:3622 積分:7025 註冊:2002-08-12 發送簡訊給我 |
引言: 請教各位大大 BCB v6.0 samples 中有TCSpinEdit 元件但只支援十進位 該如何改寫? 因小弟初學乍練 BCB.Boy 你好: 請參考以下的做法 ( class="code"> void __fastcall TForm1::CSpinEdit1Change(TObject *Sender) { char szBuf[16]={0}; sprintf(szBuf, "%X", CSpinEdit1->Value); Edit1->Text=szBuf; } -- Enjoy Researching & Developing --
------
-- 若您已經得到滿意的答覆,請適時結案!! -- -- 欲知前世因,今生受者是;欲知來世果,今生做者是 -- -- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 -- |
cmf
尊榮會員 發表:84 回覆:918 積分:1032 註冊:2002-06-26 發送簡訊給我 |
//改寫 TCSpinEdit to THexSpinEdit 修改 下面兩個 FUNCTION 就可以顯示 HEX 數字
以下是 DELPHI 程式,如果看不懂 請請教 RaynorPao 大師 function THexSpinEdit.IsValidChar(Key: Char): Boolean;
begin
//多加入 一個 'X'
Result := (Key in [DecimalSeparator, '+', '-','x','X','0'..'9']) or
((Key < #32) and (Key <> Chr(VK_RETURN)));
if not FEditorEnabled and Result and ((Key >= #32) or
(Key = Char(VK_BACK)) or (Key = Char(VK_DELETE))) then
Result := False;
end; procedure THexSpinEdit.SetValue (NewValue: LongInt);
begin
//將數值 轉成 HEX 字串
Text := IntToHex (CheckValue (NewValue));
end;
------
︿︿ |
Boy
一般會員 發表:5 回覆:10 積分:3 註冊:2002-11-30 發送簡訊給我 |
謝謝各位先進: function THexSpinEdit.IsValidChar(Key: Char): Boolean;
begin
//多加入 一個 'X', 'A'..'F' and 'a'..'f' Result := (Key in [DecimalSeparator, ' ', '-','x','X','0'..'9', 'A'..'F', 'a'..'f']) or
((Key < #32) and (Key <> Chr(VK_RETURN)));
if not FEditorEnabled and Result and ((Key >= #32) or
(Key = Char(VK_BACK)) or (Key = Char(VK_DELETE))) then
Result := False;
end; 是不是完整了? Jeffrey Chang
------
Jeffrey Chang |
cmf
尊榮會員 發表:84 回覆:918 積分:1032 註冊:2002-06-26 發送簡訊給我 |
function THexSpinEdit.IsValidChar(Key: Char): Boolean;
begin
//多加入 一個 'X', 'A'..'F' and 'a'..'f'
// 去掉 '+','-',DecimalSeparator, Result := (Key in ['x','X','0'..'9', 'A'..'F', 'a'..'f']) or
((Key < #32) and (Key <> Chr(VK_RETURN)));
if not FEditorEnabled and Result and ((Key >= #32) or
(Key = Char(VK_BACK)) or (Key = Char(VK_DELETE))) then
Result := False;
end; 發表人 - cmf 於 2003/01/21 23:03:47
------
︿︿ |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |