本文整理匯總了C++中ROW::SetCell方法的典型用法代碼示例。如果您正苦於以下問題:C++ ROW::SetCell方法的具體用法?C++ ROW::SetCell怎麽用?C++ ROW::SetCell使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類ROW
的用法示例。
在下文中一共展示了ROW::SetCell方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C++代碼示例。
示例1: DestroyEditControl
void TABLE::DestroyEditControl()
{
if(hEdit)
{
// Get the rectangle of the cell for intelligent update
RECT cellRect;
GetWindowRect(hEdit, &cellRect);
ScreenToClient(hTable, (POINT*)&cellRect);
ScreenToClient(hTable, (POINT*)&cellRect.right);
cellRect.left -= COLUMN::CellCharWidth(editCol);
cellRect.top = cellRect.bottom - TABLE_ATTRIBUTES::CellHeight();
cellRect.right += COLUMN::CellCharWidth(editCol);
// un-subclass the control in preparation for destroy
RemoveProp(hEdit, "loPtr");
RemoveProp(hEdit, "hiPtr");
RemoveProp(hEdit, "number");
SetWindowLong(hEdit, GWL_WNDPROC, (long)oldEditControlProc);
// get the text and update the cell as necessary
WORD len = (WORD)SendMessage(hEdit, WM_GETTEXTLENGTH, 0, 0L)+1;
char* buffer = new char[len];
SendMessage(hEdit, WM_GETTEXT, (WPARAM)(len+1), (LPARAM)buffer);
RUNTIMEINFO* rtime = (RUNTIMEINFO*)AObjGetRuntimeInfo(theObject);
ROW* row = rtime->GetRow();
if(hstrcmp(row->GetCell(editRow, editCol, FALSE, NULL), buffer))
{
row->SetCell(editRow, editCol, buffer);
TABLE_ATTRIBUTES::SetEditRow(editRow);
TABLE_ATTRIBUTES::SetEditColumn(editCol);
PostObjectChanged(CHANGED_FULLREDRAW);
AEvtPostSignalAtMark(theObject, SIGNAL_TABLEEDITED);
}
delete buffer;
// destroy the window
DestroyWindow(hEdit);
hEdit = NULL;
DeleteObject(hEditFont);
AEvtPostSignalAtMark(theObject, SIGNAL_STOPEDITING);
// make sure the proper region is redrawn
InvalidateRect(hTable, &cellRect, FALSE);
UpdateWindow(hTable);
// wipPreventThieves(ParentID, FALSE); SKJ need replacement
}
}