15,979
社区成员
发帖
与我相关
我的任务
分享
BOOL GetCBtext(char *txt)
{
HANDLE HClipText;
OpenClipboard(NULL);
HClipText=::GetClipboardData(CF_TEXT);
if(HClipText==NULL)
{
return FALSE;
}
char *pClipText;
pClipText=(char *)::GlobalLock(HClipText);
if(pClipText==NULL)
{
return FALSE;
}
::lstrcpy(txt,pClipText);
::GlobalUnlock(HClipText);
::CloseClipboard();
return TRUE;
}
BOOL SetCBtext(char *text)
{
if (OpenClipboard(NULL))
{
HGLOBAL hClipboardCopy = ::GlobalAlloc(GMEM_ZEROINIT | GMEM_MOVEABLE | GMEM_DDESHARE,
strlen(text)+1);
if (hClipboardCopy != NULL)
{
LPVOID lpClipboardCopy;
lpClipboardCopy = ::GlobalLock((HGLOBAL) hClipboardCopy);
strcpy((char*)lpClipboardCopy, text);
::GlobalUnlock(hClipboardCopy);
EmptyClipboard();
SetClipboardData(CF_TEXT, hClipboardCopy);
CloseClipboard();
return TRUE;
}
}
return FALSE;
}
void CTestDlg::OnFind()
{
float sNum;
// TODO: Add your control notification handler code here
pWndDlg=FindWindow("#32770","对话框");
if(pWndDlg==0)
{
AfxMessageBox("原始数据输入对话框");
return;
}
pWndEdit1000=pWndDlg->GetDlgItem(0x03E8);// 汽相流量的 ID 0x003E8
// get text
// OK
char txt[40];
pWndEdit1000->SendMessage(WM_COPY,0,0);// COPY汽相流量的数据到剪贴板
GetCBtext(txt);//剪贴板上的数据赋值给 txt[40],取出汽相流量输入框值
//
// 下面送入新的值
sNum= m_Edit; //C++程序界面 EDIT 汽相流量输入(第一个输入框)
sNum=sNum * xNum[0][m_iCount];
// 乘上系数, 1.0 --0.1 共10个系数,每按一次"寻找窗口" 按钮,系数改变一次
pWndEdit1000->SendMessage(WM_SETFOCUS,0,0);//汽相流量输入框得到焦点
pWndEdit1000->SendMessage(EM_SETSEL,0,-1); // 选中汽相流量输入框
// sNum=1111.22f;
char text[40];
sprintf(text,"%7.2f",sNum);// 浮点数据变成字符
// not OK !
SetCBtext(text);// 送到剪贴板
pWndEdit1000->SendMessage(WM_PASTE,0,0);//PASTE到 .exe 程序界面的汽相流量输入框
// 新值已送入到 exe 程序界面的汽相流量输入框
m_iCount++; // " 寻找窗口"一次,计数增1,最多10 次.
if (m_iCount>9) m_iCount=0;