【发布时间】:2016-10-02 09:27:48
【问题描述】:
我正在使用 Visual Studio 2015 C++,并在 .rc 文件中定义了一个对话框:
IDD_SERIALCTRLDEMO_DIALOG DIALOGEX 0, 0, 313, 164
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
EXSTYLE WS_EX_APPWINDOW
CAPTION "SerialCtrlDemo"
FONT 8, "MS Shell Dlg", 0, 0, 0x1
BEGIN
LTEXT "Serial Number:",IDC_STATIC,14,10,48,8
COMBOBOX IDC_COMBO_SN,66,8,48,55,CBS_DROPDOWN | CBS_SORT | WS_VSCROLL | WS_TABSTOP
LTEXT "Baud Rate:",IDC_STATIC,135,10,37,8
COMBOBOX IDC_COMBO_BR,176,8,48,55,CBS_DROPDOWN | CBS_SORT | WS_VSCROLL | WS_TABSTOP
LTEXT "Read:",IDC_STATIC,11,51,20,8
PUSHBUTTON "Open",IDC_BUTTON_OPEN,242,7,50,14
LISTBOX IDC_LIST_READ,11,62,23,76,LBS_SORT | LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP
EDITTEXT IDC_EDIT_WRITE,11,34,237,14,ES_AUTOHSCROLL
PUSHBUTTON "Write",IDC_BUTTON_WR,252,33,46,14
GROUPBOX "",IDC_STATIC,7,0,294,25
GROUPBOX "",IDC_STATIC,7,26,296,117
LTEXT "",IDC_STATIC_INFO,11,150,287,8
CONTROL "",IDC_SENSOR,"Static",SS_BLACKRECT,41,62,256,76
END
enter code here
我感兴趣的控件是图片框“IDC_SENSOR”(最后一个条目),它定义在/为 41,62,256,76。但在屏幕上,比例不同,可能是由于动态对话框布局。 所以我想知道对话框中那个框的确切位置和大小,但我无法获得这些参数。
使用的程序:
void CSerialCtrlDemoDlg::OnEventRead(char *inPacket,int inLength)
}
int x=0;
m_listboxRead.AddString(inPacket); // display the incomming data in the 'Read' listbox
CString str; // display the # of data's in 'Info'
str.Format("%d bytes read",inLength);
m_staticInfo.SetWindowText(str);
CWnd *cWndSensor = GetDlgItem(IDC_SENSOR); // show the fluctuation in the Picturebox
CDC *pDC = cWndSensor->GetDC();
for (x = 0; x < 200; x++)
{
pDC->SetPixelV(x, 10, RGB(rand() % 255, 0, 0));
}
}
for循环中的x
如何获得这些尺寸?
我希望这是足够的信息(?)。
您好,CJ。
【问题讨论】:
标签: c++ dynamic dialog size picturebox