单选初始选中第一个单选按钮问题,需要将程序前面预说明中m_jinzhi = -1改成m_jinzhi = 0
第一次运行程序时,单选按钮虽选中,但ID为IDC_SHOW的控件中仍没有需要的内容,这时解决办法是在OnInitDialog()函数中添加一行
OnRadio1()
即可
void CAsdfgDlg::OnRadio1()
{
// TODO: Add your control notification handler code here
UpdateData(TRUE)
CString str
GetDlgItem(IDC_RADIO1)->GetWindowText(str)
GetDlgItem(IDC_SHOW)->SetWindowText(str)
}
void CAsdfgDlg::OnRadio2()
{
// TODO: Add your control notification handler code here
UpdateData(TRUE)
CString str
GetDlgItem(IDC_RADIO2)->GetWindowText(str)
GetDlgItem(IDC_SHOW)->SetWindowText(str)
}
void CAsdfgDlg::OnRadio3()
{
// TODO: Add your control notification handler code here
UpdateData(TRUE)
CString str
GetDlgItem(IDC_RADIO3)->GetWindowText(str)
GetDlgItem(IDC_SHOW)->SetWindowText(str)
}
若满意请及时采纳,谢谢
这是一个复杂的问题。
如果exe是VC++或Delphi等书写的,试试用 Reshacker 删除某些控件。
如果exe是VB编写的,试试DeVB这类反编译软件。
如果exe加壳了,先脱壳。
动态创建头文件中声明:CEdit* m_Edits
cpp文件的OnInitDialog函数中:
m_Edits=new CEdit(50)
for(int i=0i<50i++)
{
m_Edits[i].Create(……)
}
程序执行结束时:
for(int i=0i<50i++)
{
delete []m_Edits
}
不过这种情况只适合你所有的Edit控件在对话框上的位置都是按规律排列的。如果不是,请用下面的方法:
在头文件中声明足够多元素的CEdit数组:
CEdit m_Edit[50]//假设你事先放好了50个Edit控件
然后找到对话框的DoDataExchange(CDataExchange* pDX)函数,添加如下代码:
DDX_Control(pDX,IDC_XXX, m_Edit[0])
DDX_Control(pDX,IDC_YYY, m_Edit[1])
……………………
IDC_XXX和IDC_YYY是各个Edit的ID
像这样手动将所有编辑框添加完就行了,以后就可以用数组的方式访问他们了
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)