vc问题,高手进。
来源:百度知道 编辑:UC知道 时间:2024/05/24 19:45:03
#include "stdafx.h"
#include "SCommTest.h"
#include "SCommTestDlg.h"
#include "mscomm.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
// CAboutDlg dialog used for App About
class CAboutDlg : public CDialog
{
public:
CAboutDlg();
.........
...........
BOOL CSCommTestDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// Add "About..." menu item to system menu.
// IDM_ABOUTBOX must be in the system command range.
ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
ASSERT(IDM_ABOUTBOX < 0xF000);
CMenu* pSysMenu = GetSystemMenu(FALSE);
if (pSysMenu != NULL)
hi我一下
m_ctrlComm.SetSettings("m_combo1.SetCurSel(1),n,m_combo5.SetCurSel(0),m_combo6.SetCurSel(0)");
你这里用引号括起来,就是简单的字符串了,而不是你想要的组合框里的值
这个可能不是combox的问题,从你的程序看,你使用了vc的通信控件搞的串口程序,就时那个控件比较恶心,我之前也遇到这样的问题,你把工程目录下的:.ncb,.opt,.aps,.clw及debug文件夹等等能删除的。重新启动dsw文件,应该会ok;是在不行,把这个控件也删掉,重新加(之前还是把:.ncb,.opt,.aps,.clw及debug文件夹等等能删除的),你试一下,我就时这么搞好的~~
接上面代码:
void CSCommTestDlg::OnOnComm()
{
// TODO: Add your control notification handler code here
VARIANT variant_inp;
COleSafeArray safearray_inp;
LONG len,k;
BYTE rxdata[2048];
CString strtemp;
if(m_ctrlComm.GetCommEvent()==2)
{
variant_inp=m_ctrlComm.GetInput();
safearray_inp=variant_inp;
len=safearray_inp.GetOneDimSize();
for(k=0;k<len;k++)
safearray_inp.GetElement(&k,rxdata+k);
for(k=0;k<len;k++)
{
BYTE bt=*(char*)(rxdata+k);
strtemp.Format("%c",bt);
m_strEditR