全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1429
推到 Plurk!
推到 Facebook!

form 跟 form之間的程序呼叫

答題得分者是:GrandRURU
kyoti
一般會員


發表:3
回覆:7
積分:2
註冊:2008-03-02

發送簡訊給我
#1 引用回覆 回覆 發表時間:2008-03-12 11:58:53 IP:122.116.xxx.xxx 訂閱
假設我有主form叫mailform,mailform上有二個按鈕,第一個按鈕某個功能
第二個按鈕是建立一個form2並呼叫form2,
form2上有一個按鈕,我的問題按下form2上的按鈕後,可以跑去mailform的第一個按鈕的功能~!?

搞了很久,請問各位前輩如何解決 ?

jenwe
一般會員


發表:34
回覆:38
積分:24
註冊:2007-03-23

發送簡訊給我
#2 引用回覆 回覆 發表時間:2008-03-12 13:56:12 IP:140.118.xxx.xxx 訂閱
我想你把程式碼放上來~會比較好吧~
不然講的那麼含糊~也不知道你的執行程序是如何?!
===================引 用 kyoti 文 章===================
假設我有主form叫mailform,mailform上有二個按鈕,第一個按鈕某個功能
第二個按鈕是建立一個form2並呼叫form2,
form2上有一個按鈕,我的問題按下form2上的按鈕後,可以跑去mailform的第一個按鈕的功能~!?

搞了很久,請問各位前輩如何解決 ?

GrandRURU
站務副站長


發表:240
回覆:1680
積分:1874
註冊:2005-06-21

發送簡訊給我
#3 引用回覆 回覆 發表時間:2008-03-12 15:36:23 IP:203.75.xxx.xxx 未訂閱
那就假設你已經可以正確從form1開啟form2好了。
如果你的form2有 include form1的話

那程式碼可以像以下:
[code cpp]
void __fastcall TForm2::Button1Click(TObject *Sender)
{
mailform->Button1Click(Sender);
}
[/code]
就可以完成你所要求的工作。
以上
===================引 用 kyoti 文 章===================
假設我有主form叫mailform,mailform上有二個按鈕,第一個按鈕某個功能
第二個按鈕是建立一個form2並呼叫form2,
form2上有一個按鈕,我的問題按下form2上的按鈕後,可以跑去mailform的第一個按鈕的功能~!?

搞了很久,請問各位前輩如何解決 ?

編輯記錄
GrandRURU 重新編輯於 2008-03-12 15:38:30, 註解 將程式碼的Form1改成「mailform」‧
kyoti
一般會員


發表:3
回覆:7
積分:2
註冊:2008-03-02

發送簡訊給我
#4 引用回覆 回覆 發表時間:2008-03-12 17:28:01 IP:122.116.xxx.xxx 訂閱


===================引 用 GrandRURU 文 章===================
那就假設你已經可以正確從form1開啟form2好了。
如果你的form2有 include form1的話

那程式碼可以像以下:
[code cpp]
void __fastcall TForm2::Button1Click(TObject *Sender)
{
mailform->Button1Click(Sender);
}
[/code]
就可以完成你所要求的工作。
以上
===========================================================
是的,那我完整的講一次
有父視窗mainform 子視窗form2跟form3
mainform有二個按鈕 各可以呼叫form2 ,form3

#include
#pragma hdrstop
#include "Unit1.h"
#include "Unit2.h"
#include "Unit3.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
Tmainform *mainform;
//---------------------------------------------------------------------------
__fastcall Tmainform::Tmainform(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall Tmainform::form21Click(TObject *Sender)
{

Application->CreateForm(__classid(Tform2),&form2);
}
//---------------------------------------------------------------------------
void __fastcall Tmainform::Button1Click(TObject *Sender)
{
Application->CreateForm(__classid(Tform3),&form3);
}
//---------------------------------------------------------------------------
問題:form2上面可能有多種功能(多個按鍵或事件什麼的),我要在form3新增一個按鈕,而這個按鈕可以可以呼叫form2出來
並使用其中一種功能,那我在form3裡該怎麼做
#include "Unit3.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
Tform3 *form3;
//---------------------------------------------------------------------------
__fastcall Tform3::Tform3(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall Tform3::FormClose(TObject *Sender, TCloseAction &Action)
{
Action = caFree;
}
//---------------------------------------------------------------------------
void __fastcall Tform3::Button1Click(TObject *Sender)
{
????????????????????????????????????
}
//---------------------------------------------------------------------------
GrandRURU
站務副站長


發表:240
回覆:1680
積分:1874
註冊:2005-06-21

發送簡訊給我
#5 引用回覆 回覆 發表時間:2008-03-12 19:20:54 IP:220.137.xxx.xxx 未訂閱
你只是要呼叫form2還是裡面的事件…?
如果只是要呼叫form2,那就是我上面所輸入的程式範例內容。


另外,請善加利用程式碼區塊功能
避免程式碼的不正確顯示。

===================引 用 kyoti 文 章===================


===================引 用 GrandRURU 文 章===================
那就假設你已經可以正確從form1開啟form2好了。
如果你的form2有 include form1的話

那程式碼可以像以下:
[code cpp]
void __fastcall TForm2::Button1Click(TObject *Sender)
{
mailform->Button1Click(Sender);
}
[/code]
就可以完成你所要求的工作。
以上
===========================================================
是的,那我完整的講一次
有父視窗mainform 子視窗form2跟form3
mainform有二個按鈕 各可以呼叫form2 ,form3

#include
#pragma hdrstop
#include "Unit1.h"
#include "Unit2.h"
#include "Unit3.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
Tmainform *mainform;
//---------------------------------------------------------------------------
__fastcall Tmainform::Tmainform(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall Tmainform::form21Click(TObject *Sender)
{

Application->CreateForm(__classid(Tform2),&form2);
}
//---------------------------------------------------------------------------

void __fastcall Tmainform::Button1Click(TObject *Sender)
{
Application->CreateForm(__classid(Tform3),&form3);
}
//---------------------------------------------------------------------------
問題:form2上面可能有多種功能(多個按鍵或事件什麼的),我要在form3新增一個按鈕,而這個按鈕可以可以呼叫form2出來
並使用其中一種功能,那我在form3裡該怎麼做
#include "Unit3.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
Tform3 *form3;
//---------------------------------------------------------------------------
__fastcall Tform3::Tform3(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall Tform3::FormClose(TObject *Sender, TCloseAction &Action)
{
Action = caFree;
}
//---------------------------------------------------------------------------
void __fastcall Tform3::Button1Click(TObject *Sender)
{
????????????????????????????????????
}
//---------------------------------------------------------------------------
kyoti
一般會員


發表:3
回覆:7
積分:2
註冊:2008-03-02

發送簡訊給我
#6 引用回覆 回覆 發表時間:2008-03-13 15:49:28 IP:122.116.xxx.xxx 訂閱
謝謝 GrandRURU 兄的解答
我想的太多了~~
系統時間:2024-04-23 19:56:56
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!