關於用TIniFile紀錄panel的問題.. |
尚未結案
|
kj68215
初階會員 發表:47 回覆:91 積分:27 註冊:2003-08-09 發送簡訊給我 |
之前小弟用TIniFile紀錄Image的問題..
已經解決了.
後來想進階套用在稍微複雜點的程式裡,結果"沒啥動靜".
也就是說,有做到紀錄的動作了,但是讀取的部分卻沒辦法!
所以想問各位,這是什麼情形!
.h
//--------------------------------------------------------------------------- #ifndef Unit1H #define Unit1H //--------------------------------------------------------------------------- #include.cpp //--------------------------------------------------------------------------- #include以下是我寫的小程式,可以下載來看看.↓
------
----------------------- 請多多指教啦!!^^ |
taishyang
站務副站長 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
kj68215您好:
我改了一下您的code(紅色部分),應該是您要的,希望您不要介意
並把專案上傳到下面連結供您參考
http://delphi.ktop.com.tw/topic.php?TOPIC_ID=42714
void __fastcall TForm1::Button5Click(TObject *Sender) { TIniFile *MyIni; MyIni=new TIniFile(ChangeFileExt(Application->ExeName, ".ini")); TImage *PC_Image = new TImage(Form1); PC_Image->Parent = Form1; AnsiString AppPath = ExtractFilePath(Application->ExeName); PC_Image->Width = 32; PC_Image->Height = 32; PC_Image->Left=MyIni->ReadInteger("PC","Left",0); PC_Image->Top=MyIni->ReadInteger("PC","Top",0); PC_Image->Picture->LoadFromFile(AppPath "AddPc.bmp"); PC_Image->Stretch = true; PC_Image->OnMouseUp = &Image1MouseUp; PC_Image->OnMouseDown = &Image1MouseDown; PC_Image->OnMouseMove = &Image1MouseMove; delete MyIni; } void __fastcall TForm1::Image1MouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y) { //顯示出panel panel->Show(); oldX = X; oldY = Y; //設定panel顯現狀態 panel->Left = ((TImage*)Sender)->Left-2; panel->Top = ((TImage*)Sender)->Top-2; panel->Height = ((TImage*)Sender)->Height 15; panel->Width = ((TImage*)Sender)->Width 4; panel->Visible = true; //當滑鼠左鍵按住Image1時,實際上是按住了panel ::SetCapture(panel->Handle); ((TImage*)Sender)->Parent = panel; ((TImage*)Sender)->Left = 2; ((TImage*)Sender)->Top = 2; //除了ImageL外,Label也一起顯示在新增的panel中 /* TLabel *tmpLabel = ((TLabel*)FindComponent(((TImage*)Sender)->Name "Label")); tmpLabel->Parent=panel; tmpLabel->Left = 2; tmpLabel->Top = 2 ((TImage*)Sender)->Height; */ Moving=true; } //--------------------------------------------------------------------------- void __fastcall TForm1::Image1MouseUp(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y) { if (Moving) { Moving=false; //釋放panel的滑鼠捕捉 ::ReleaseCapture(); //隱藏panel在Image1下 panel->Visible = false; ((TImage*)Sender)->Left = panel->Left; ((TImage*)Sender)->Top = panel->Top; ((TImage*)Sender)->Parent = this; /* TLabel *tmpLabel = ((TLabel*)FindComponent(((TImage*)Sender)->Name "Label")); tmpLabel->Parent=this; tmpLabel->Left = panel->Left; tmpLabel->Top = panel->Top ((TImage*)Sender)->Height; */ } } //---------------------------------------------------------------------------順心 <>~我也是在學習的階段,回答的不好請您多多見諒與指教~> 發表人 - |
kj68215
初階會員 發表:47 回覆:91 積分:27 註冊:2003-08-09 發送簡訊給我 |
taishyang,
首先感謝您的回覆!< >
小弟修改之後,(暫時把>>、<>>!
但是跟我要的有一點點不同,就是說以>"最後一個所新增的<>>">而無法紀錄到所有新增的<>>。
小弟想要達到的功能,其實是如下這一張圖啦!↓< >
< src="http://delphi.ktop.com.tw/download/upload\42788_Set_MAP.jpg">
Button1,屬性Caption:Add
Button2,屬性Caption:Delete
Button3,屬性Caption:Reset
Button4,屬性Caption:Save
Button5,屬性Caption:Load
Button6,屬性Caption:Close
其中,Form1上所新增(Add)的3個小圖,其實就是3個panel。
小弟想要的是,要把這3個panel全都紀錄(Save)起來,當按下Load時可以把原先新增的panel數量、各個panel所在位置(起始、偏移)呈現出Save的紀錄,而不是只有紀錄到"最後新增的那一個panel"
關於這一點,小弟還想不出來該怎麼寫,想請問taishyang兄(或是其他大大)這該怎麼寫?! -----------------------
請多多指教啦!!^^
------
----------------------- 請多多指教啦!!^^ |
hahalin
版主 發表:295 回覆:1698 積分:823 註冊:2002-04-14 發送簡訊給我 |
|
kj68215
初階會員 發表:47 回覆:91 積分:27 註冊:2003-08-09 發送簡訊給我 |
|
taishyang
站務副站長 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |