导航:首页 > IDC知识 > idc控件

idc控件

发布时间:2020-10-13 10:59:01

1、C++ 控件ID在哪里定义?

在 MS Visual Studio 环境下打开 .rc ,在 String Table 里可以改它的名字,不要改值。

用文本编辑改.rc,新手容内易发生格式错误。

程序容里h.cpp 里相应的名字替换成新的。

控件是对数据和方法的封装。控件可以有自己的属性和方法。属性是控件数据的简单访问者。方法则是控件的一些简单而可见的功能。

使用现成的控件来开发应用程序时,控件工作在两种模式下:设计时态和运行时态。

在设计时态下,控件显示在开发环境下的一个窗体中。设计时态下控件的方法不能被调用,控件不能与最终用户直接进行交互操作,也不需要实现控件的全部功能。

在 运行状态下,控件工作在一个确实已经运行的应用程序中。控件必须正确地将自身表示出来,它需要对方法的调用进行处理并实现与其他控件之间有效的协同工作。

2、VC中如何获取消息来源控件的IDC

你要说清楚是用MFC还是用纯Windows
API编程。如果是MFC一般你把一个控件的消息映射成函数那么这个函数被调用的时候必然是这个对应控件的ID号。如果你将多个控件映射到了一个函数,则你可能会希望知道发出消息的控件ID。我想到的做法是调用MFC的全局函数AfxGetCurrentMessage()即可得到当前在处理的一个消息的MSG结构指针。之后的做法和API编程一样。
如果是纯API编程,那么你会在窗口函数得到MSG结构,该结构包含了消息号,消息产生的时间以及消息的两个参数WPARAM和LPARAM。控件的ID就是藏在了WPARAM和LPARAM内。绝大部分控件都是想父窗口发送WM_COMMAND消息的,那么控件的ID就是wParam的低字位。比如你想处理一个按钮单击的消息,这个按钮在单击的时候向父窗口发送WM_COMMAND,然后在wParam的高字位包含BTN_CLICKED,低字位包含IDC_BUTTON1之类的ID号。
你可以用LOWORD(wParam)来获得ID号。
总结一下,MFC下
PMSG
pMsg
=
AfxGetCurrentMessage();
UINT
nID
=
LOWORD(pMsg->wParam);
Windows
API就不说了,你会API编程肯定知道如何得到ID号。

3、如何为picture控件idc

你是想设置背景色吧
直接使用picture控件添加bmp图片,不容易实现你描述的功能。
可以通过以下方法解决:
1.添加一个picture控件ID假定为IDC_S_PIC,调整的你需要的大小,类型原则Frame。
2.在OnPaint函数中添加以下代码在IDC_S_PIC制定的范围内添加背景图片。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
void CBDlg::OnPaint()
{
CPaintDC dc(this); // device context for painting
CRect rect;
GetDlgItem(IDC_S_PIC)->GetClientRect(&rect);
CDC dcMem;
dcMem.CreateCompatibleDC(&dc);
CBitmap bmpBackground;
if(bmpBackground.LoadBitmap(IDB_BITMAP1))
{ //保证加载图片成功后再执行以下操作
BITMAP bitmap;
bmpBackground.GetBitmap(&bitmap);
CBitmap *pbmpOld=dcMem.SelectObject(&bmpBackground);
dc.StretchBlt(0,0,rect.Width(),rect.Height(),&dcMem,0,0,
bitmap.bmWidth,bitmap.bmHeight,SRCCOPY);
}
}

4、((CButton*)GetDlgItem(IDC_RADIO_DAY))->SetCheck();//Radio button控件对吗?????

((CButton*)GetDlgItem(IDC_RADIO_DAY))-> SetCheck(1);
后面得有返回值吧
我是用SetCheck(0)设为没有选中
 用SetCheck(1)设为被选中
 我是这么用的
望采纳

5、MFC两个子页面a和b,在a中获得b中控件IDC_picture的客户区的坐标,应该怎么弄

首先获取b的句柄,这个很简单。以下假设b页面对应的CWnd指针是pB
CWnd *pWnd = pB->GetDlgItem(IDC_picture);

CRect rect;
pWnd->GetClientRect(&rect);
pB->ScreenToClient(&rect);

6、怎样在MFC中添加IDC_STATIC?????

MFC里边不是有个可视化的界面编辑器?
在资源视图里边,将静态文本控件拖入你的对话框中,将其ID改成IDC_STATIC_POS就好了。

7、用c语言开发Windows程序,如何判断IDC_EDIT输入框里面的内容为空,并报错。比如IDC_EDIT控件

查mfc 手册 GetwindowText

8、MFC在哪个位置加CListBox控件的DDX_Control(pDX, IDC_LIST_BOX, m_ExcelList);

DDX_Control当然是加在DoDataExchange里面。
不过这个强烈不建议手工添加(尤其是初学者),其中有不少的关联关系,建议通过ClassWizard向导等编辑器提供的方式添加。

9、MFC中,若只更新一个指定控件的值,那用什么命令?比如:IDC_CHECK1,绑定变量 BOOL m_check1.

最好通过控件指针或控件对象进行操作.

10、小白求助:C++中 IDC_STATIC1-20 如何用动态变量代替控件后面的数字

IDC_STATIC1 是UINT类型的常量,你可以修改resource.h里面的定义,使得多个static的ID连续,你就可以这样用 GetDlgItem(IDC_STATIC1+m_addrTemp) 假设 m_addrTemp小于static的个数。

与idc控件相关的知识