初学delphi,请问在VC中有BEGIN_EVENTSINK_MAP映射事件函数这些,如下面的VC程序,请问在Delphi中应如何做呢?谢谢BEGIN_EVENTSINK_MAP(CTestMMSOcxDlg, CDialog)
//{{AFX_EVENTSINK_MAP(CTestMMSOcxDlg)
ON_EVENT(CTestMMSOcxDlg, IDC_ETESNMMSCTRL1, 1 /* ModemStatusChanged */, OnModemStatusChangedEtesnmmsctrl1, VTS_I4)
ON_EVENT(CTestMMSOcxDlg, IDC_ETESNMMSCTRL1, 2 /* MMSRecvReport */, OnMMSRecvReportEtesnmmsctrl1, VTS_I4 VTS_I4)
ON_EVENT(CTestMMSOcxDlg, IDC_ETESNMMSCTRL1, 3 /* SendSMSStatus */, OnSendSMSStatusEtesnmmsctrl1, VTS_I4 VTS_I4)
ON_EVENT(CTestMMSOcxDlg, IDC_ETESNMMSCTRL1, 4 /* SendMMSStatus */, OnSendMMSStatusEtesnmmsctrl1, VTS_I4 VTS_I4)
ON_EVENT(CTestMMSOcxDlg, IDC_ETESNMMSCTRL1, 5 /* RecvSMS */, OnRecvSMSEtesnmmsctrl1, VTS_BSTR VTS_BSTR)
ON_EVENT(CTestMMSOcxDlg, IDC_ETESNMMSCTRL1, 6 /* RecvMMS */, OnRecvMMSEtesnmmsctrl1, VTS_BSTR VTS_BSTR VTS_BSTR VTS_BSTR VTS_BSTR VTS_BSTR VTS_BSTR VTS_BSTR)
ON_EVENT(CTestMMSOcxDlg, IDC_ETESNMMSCTRL1, 7 /* SMSRecvReport */, OnSMSRecvReportEtesnmmsctrl1, VTS_BSTR VTS_I4)
ON_EVENT(CTestMMSOcxDlg, IDC_ETESNMMSCTRL1, 8 /* Ring */, OnRingEtesnmmsctrl1, VTS_BSTR)
//}}AFX_EVENTSINK_MAP
END_EVENTSINK_MAP()void CTestMMSOcxDlg::OnModemStatusChangedEtesnmmsctrl1(long ModemStatus)
{
//事件响应函数
static int snLastStatus=0;
if(snLastStatus==ModemStatus)
return; if(ModemStatus==1)
{
snLastStatus=1;
MessageBox("连接设备成功!");
}
else if(ModemStatus==-1)
{
snLastStatus=-1;
MessageBox("连接设备失败!");
}
}
//{{AFX_EVENTSINK_MAP(CTestMMSOcxDlg)
ON_EVENT(CTestMMSOcxDlg, IDC_ETESNMMSCTRL1, 1 /* ModemStatusChanged */, OnModemStatusChangedEtesnmmsctrl1, VTS_I4)
ON_EVENT(CTestMMSOcxDlg, IDC_ETESNMMSCTRL1, 2 /* MMSRecvReport */, OnMMSRecvReportEtesnmmsctrl1, VTS_I4 VTS_I4)
ON_EVENT(CTestMMSOcxDlg, IDC_ETESNMMSCTRL1, 3 /* SendSMSStatus */, OnSendSMSStatusEtesnmmsctrl1, VTS_I4 VTS_I4)
ON_EVENT(CTestMMSOcxDlg, IDC_ETESNMMSCTRL1, 4 /* SendMMSStatus */, OnSendMMSStatusEtesnmmsctrl1, VTS_I4 VTS_I4)
ON_EVENT(CTestMMSOcxDlg, IDC_ETESNMMSCTRL1, 5 /* RecvSMS */, OnRecvSMSEtesnmmsctrl1, VTS_BSTR VTS_BSTR)
ON_EVENT(CTestMMSOcxDlg, IDC_ETESNMMSCTRL1, 6 /* RecvMMS */, OnRecvMMSEtesnmmsctrl1, VTS_BSTR VTS_BSTR VTS_BSTR VTS_BSTR VTS_BSTR VTS_BSTR VTS_BSTR VTS_BSTR)
ON_EVENT(CTestMMSOcxDlg, IDC_ETESNMMSCTRL1, 7 /* SMSRecvReport */, OnSMSRecvReportEtesnmmsctrl1, VTS_BSTR VTS_I4)
ON_EVENT(CTestMMSOcxDlg, IDC_ETESNMMSCTRL1, 8 /* Ring */, OnRingEtesnmmsctrl1, VTS_BSTR)
//}}AFX_EVENTSINK_MAP
END_EVENTSINK_MAP()void CTestMMSOcxDlg::OnModemStatusChangedEtesnmmsctrl1(long ModemStatus)
{
//事件响应函数
static int snLastStatus=0;
if(snLastStatus==ModemStatus)
return; if(ModemStatus==1)
{
snLastStatus=1;
MessageBox("连接设备成功!");
}
else if(ModemStatus==-1)
{
snLastStatus=-1;
MessageBox("连接设备失败!");
}
}
解决方案 »
- 嵌套循环算法问题,困惑了,帮看一看自已迷了
- 连接服务器的问题
- 在线等待,不够还可以加分,急用,各位老大进!!!!!!!!!!!!!!
- 数据集ClientDataset1,ClientDataset2选取的数据结构一致,请问如何将数据集2的加入到数据集1呢?
- 为何WIN2000下做的程序在WIN98下字体全变了样,而且控件的大小也有改变,非常感谢!!(分辨率都一样)
- 100分,急问大家,请问怎样用Delphi调用VC写的com组件?谢谢。
- delphi中有没有类似VC中IDC_LIST这样的控件?
- 如何在String中取得一个小的String?
- 添加组件,可以不用源码吗?
- 高分请教--控制面板中的添加删除程序。
- DLL加载问题---急!!!11
- 数据表更新(初级问题)
const
BJFORM_EDIT = WM_USER + 30;
定义处理过程:
procedure bjFormEdit(var Message: TMessage); message BJFORM_EDIT;
其他地方触发 :PostMessage();或者sendmessage();
以上内容copy自某处。但是仍然是标准答案。
const
BJFORM_EDIT = WM_USER + 30;
定义处理过程:
procedure bjFormEdit(var Message: TMessage); message BJFORM_EDIT;
其他地方触发 :PostMessage();或者sendmessage();
这是正解
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, OleCtrls, ETESNMMSLib_TLB, ExtCtrls;
var
SendMsgIndex:integer;
const
BJFORM_EDIT = WM_USER + 30;
type
TForm1 = class(TForm)
EtesnMMS1: TEtesnMMS;
InitOcx: TButton;
ConnectModem: TButton;
SendSms: TButton;
SendMMS: TButton;
DisConnectModem: TButton;
ModemStatusLable: TLabel;
SignalStrenghLabel: TLabel;
NoticeEditLabel: TLabel;
ModemStatusEdit: TEdit;
SignalStrenghEdit: TEdit;
NoticeEdit: TEdit;
Timer1: TTimer;
OpenDialog1: TOpenDialog;
Exit: TButton;
procedure FormCreate(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure InitOcxClick(Sender: TObject);
procedure ConnectModemClick(Sender: TObject);
procedure SendSmsClick(Sender: TObject);
procedure SendMMSClick(Sender: TObject);
procedure DisConnectModemClick(Sender: TObject);
procedure ExitClick(Sender: TObject);
procedure bjFormEdit(var Message: TMessage); message BJFORM_EDIT;//此处提示出错,出错信息:[Error] MMSSdkDemo.pas(37): Unsatisfied forward or external declaration: 'TForm1.bjFormEdit' private
{ Private declarations }
public
{ Public declarations }
end;
procedure bjFormEdit(var Message: TMessage); message BJFORM_EDIT; //现在上这里提示出错,提示[Error] MMSSdkDemo.pas(131): Unknown directive: 'message'
beginend;