本文整理汇总了C++中IParamBlock2::Delete方法的典型用法代码示例。如果您正苦于以下问题:C++ IParamBlock2::Delete方法的具体用法?C++ IParamBlock2::Delete怎么用?C++ IParamBlock2::Delete使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IParamBlock2
的用法示例。
在下文中一共展示了IParamBlock2::Delete方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: MoveCommand
void plResponderProc::MoveCommand(int oldIdx, int newIdx)
{
// Move data
int insertIdx = (newIdx > oldIdx) ? newIdx+1 : newIdx;
int deleteIdx = (newIdx < oldIdx) ? oldIdx+1 : oldIdx;
ReferenceTarget *targ = fStatePB->GetReferenceTarget(kStateCmdParams, 0, oldIdx);
fStatePB->Insert(kStateCmdParams, insertIdx, 1, &targ);
fStatePB->Delete(kStateCmdParams, deleteIdx, 1);
ReferenceTarget *wait = fStatePB->GetReferenceTarget(kStateCmdWait, 0, oldIdx);
fStatePB->Insert(kStateCmdWait, insertIdx, 1, &wait);
fStatePB->Delete(kStateCmdWait, deleteIdx, 1);
BOOL oldEnabled = fStatePB->GetInt(kStateCmdEnabled, 0, oldIdx);
BOOL newEnabled = fStatePB->GetInt(kStateCmdEnabled, 0, newIdx);
fStatePB->SetValue(kStateCmdEnabled, 0, oldEnabled, newIdx);
fStatePB->SetValue(kStateCmdEnabled, 0, newEnabled, oldIdx);
ResponderWait::CmdMoved(fStatePB, oldIdx, newIdx);
LoadList();
// Reselect item
// (This doesn't send the LBN_SELCHANGE message so we do that manually)
ListBox_SetCurSel(fhList, newIdx);
ICreateCmdRollups();
}
示例2: DeleteTarget
BOOL OrientConstRotation::DeleteTarget(int selection){
int ct = pblock->Count(orientation_target_list);
if (selection >= 0 && selection < pblock->Count(orientation_target_list)){
// theHold.Begin();
pblock->Delete(orientation_target_weight, selection, 1);
pblock->Delete(orientation_target_list, selection, 1);
// theHold.Accept(GetString(IDS_AG_ORIENTATION_LIST));
return TRUE;
}
else
return FALSE;
}
示例3: RemoveCurCommand
void plResponderProc::RemoveCurCommand()
{
int idx = ListBox_GetCurSel(fhList);
if (idx == LB_ERR)
return;
// Destroy the current rollup, since it's this guy
IRemoveCmdRollups();
// Delete all traces of this command
fStatePB->Delete(kStateCmdParams, idx, 1);
fStatePB->Delete(kStateCmdWait, idx, 1);
fStatePB->Delete(kStateCmdEnabled, idx, 1);
ListBox_DeleteString(fhList, idx);
// Patch the wait commands
ResponderWait::CmdRemoved(fStatePB, idx);
fCmdIdx = -1;
}
示例4: DlgProc
BOOL plResponderProc::DlgProc(TimeValue t, IParamMap2 *pm, HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
static UINT dragListMsg = 0;
if (dragListMsg != 0 && msg == dragListMsg)
if (DragListProc(hWnd, (DRAGLISTINFO*)lParam))
return TRUE;
switch (msg)
{
case WM_INITDIALOG:
{
if (!fhMenu)
ICreateMenu();
fhDlg = hWnd;
fhList = GetDlgItem(fhDlg, IDC_CMD_LIST);
fCurState = 0;
fCmdIdx = -1;
fPB = pm->GetParamBlock();
fComp = (plResponderComponent*)fPB->GetOwner();
fComp->IFixOldPB();
LoadState();
// Make it so the user can drag commands to different positions
dragListMsg = RegisterWindowMessage(DRAGLISTMSGSTRING);
MakeDragList(GetDlgItem(hWnd, IDC_CMD_LIST));
// Setup the State Name combo
HWND hStateName = GetDlgItem(hWnd, IDC_STATE_COMBO);
ComboBox_LimitText(hStateName, 256);
// I give up, Windows doesn't want to tell me the real font size
#if 0//def CUSTOM_DRAW
// TEMP
HDC hDC = GetDC(hStateName);
HFONT sysFont = (HFONT)GetStockObject(DEFAULT_GUI_FONT);
HFONT oldFont = SelectFont(hDC, sysFont);
TEXTMETRIC tm;
GetTextMetrics(hDC, &tm);
ComboBox_SetItemHeight(hStateName, 0, tm.tmHeight+2);
DeleteFont(SelectFont(hDC, oldFont));
ReleaseDC(hStateName, hDC);
#endif
// Add the commands
int idx = ComboBox_AddString(hStateName, "Add State");
ComboBox_SetItemData(hStateName, idx, kStateAdd);
idx = ComboBox_AddString(hStateName, "Remove Current State");
ComboBox_SetItemData(hStateName, idx, kStateRemove);
idx = ComboBox_AddString(hStateName, "Set Current as Default");
ComboBox_SetItemData(hStateName, idx, kStateDefault);
idx = ComboBox_AddString(hStateName, "Copy Current State");
ComboBox_SetItemData(hStateName, idx, kStateCopy);
HWND hSwitchCombo = GetDlgItem(hWnd, IDC_SWITCH_COMBO);
int numStates = fPB->Count(kResponderStateName);
for (int i = 0; i < numStates; i++)
{
const char *stateName = fPB->GetStr(kResponderStateName, 0, i);
char buf[128];
if (!stateName || *stateName == '\0')
{
sprintf(buf, "State %d", i+1);
stateName = buf;
}
ComboBox_InsertString(hStateName, i, stateName);
ComboBox_AddString(hSwitchCombo, stateName);
}
ComboBox_SetCurSel(hStateName, fCurState);
ComboBox_SetCurSel(hSwitchCombo, fStatePB->GetInt(kStateCmdSwitch));
}
return TRUE;
#ifdef CUSTOM_DRAW
case WM_DRAWITEM:
if (wParam == IDC_STATE_COMBO)
{
IDrawComboItem((DRAWITEMSTRUCT*)lParam);
return TRUE;
}
break;
#endif
case WM_SETCURSOR:
{
if (HIWORD(lParam) == WM_RBUTTONDOWN && HWND(wParam) == GetDlgItem(hWnd, IDC_CMD_LIST))
{
ICmdRightClick(HWND(wParam));
return TRUE;
}
}
//.........这里部分代码省略.........
示例5: DlgProc
BOOL plClothingComponentProc::DlgProc(TimeValue t, IParamMap2 *pm, HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
IParamBlock2 *pb = pm->GetParamBlock();
HWND hList = GetDlgItem(hWnd, IDC_CLOTHING_LIST);
HWND hGroup = GetDlgItem(hWnd, IDC_CLOTHING_GROUP);
HWND hType = GetDlgItem(hWnd, IDC_CLOTHING_TYPE);
HWND hLOD = GetDlgItem(hWnd, IDC_COMP_LOD_CLOTHING_STATE);
switch (msg)
{
case WM_INITDIALOG:
{
ListBox_ResetContent(hList);
int i;
for (i = 0; i < pb->Count(plClothingComponent::kMaterials); i++)
ListBox_AddString(hList, pb->GetMtl(ParamID(plClothingComponent::kMaterials), 0, i)->GetName());
ListBox_SetCurSel(hList, -1);
for (i = 0; i < plClothingMgr::kMaxGroup; i++)
ComboBox_AddString(hGroup, plClothingMgr::GroupStrings[i]);
ComboBox_SetCurSel(hGroup, pb->GetInt(plClothingComponent::kGroup));
for (i = 0; i < plClothingMgr::kMaxType; i++)
ComboBox_AddString(hType, plClothingMgr::TypeStrings[i]);
ComboBox_SetCurSel(hType, pb->GetInt(plClothingComponent::kType));
ComboBox_AddString(hLOD, "High");
ComboBox_AddString(hLOD, "Medium");
ComboBox_AddString(hLOD, "Low");
ComboBox_SetCurSel(hLOD, pb->GetInt(plClothingComponent::kLODState));
}
return TRUE;
case WM_COMMAND:
if (HIWORD(wParam) == BN_CLICKED)
{
if (LOWORD(wParam) == IDC_CLOTHING_ADD)
{
Mtl *pickedMtl = plPickMaterialMap::PickMaterial(plMtlCollector::kClothingMtlOnly);
if (pickedMtl != nil)
{
LRESULT stringIdx = ListBox_FindStringExact(hList, -1, pickedMtl->GetName());
if (stringIdx == LB_ERR) // It's not already there, go and add it
{
pb->Append(ParamID(plClothingComponent::kMaterials), 1, &pickedMtl, 0);
ListBox_AddString(hList, pickedMtl->GetName());
}
}
return TRUE;
}
// Remove the currently selected material
else if (LOWORD(wParam) == IDC_CLOTHING_REMOVE)
{
int sel = ListBox_GetCurSel(hList);
if (sel != LB_ERR)
{
pb->Delete(plClothingComponent::kMaterials, sel, 1);
ListBox_DeleteString(hList, sel);
}
return TRUE;
}
else if( LOWORD( wParam ) == IDC_CLOTHING_CLEARMESH )
{
int state = pb->GetInt(plClothingComponent::kLODState);
pb->SetValue(plClothingComponent::kMeshNodeTab, 0, (INode*)nil, state );
pb->Reset(plClothingComponent::kMeshNodeAddBtn);
}
}
else if (LOWORD(wParam) == IDC_CLOTHING_GROUP)
{
int setIdx = ComboBox_GetCurSel(hGroup);
pb->SetValue(plClothingComponent::kGroup, 0, setIdx);
return TRUE;
}
else if (LOWORD(wParam) == IDC_CLOTHING_TYPE)
{
int setIdx = ComboBox_GetCurSel(hType);
pb->SetValue(plClothingComponent::kType, 0, setIdx);
return TRUE;
}
else
{
int state = pb->GetInt(plClothingComponent::kLODState);
INode *node = pb->GetINode(plClothingComponent::kMeshNodeAddBtn);
if (node)
pb->SetValue(plClothingComponent::kMeshNodeTab, 0, node, state);
if(LOWORD(wParam) == IDC_COMP_LOD_CLOTHING_STATE && HIWORD(wParam) == CBN_SELCHANGE)
{
int idx = SendMessage((HWND)lParam, CB_GETCURSEL, 0, 0);
pb->SetValue(plClothingComponent::kLODState, 0, idx);
node = pb->GetINode(plClothingComponent::kMeshNodeTab, 0, idx);
if (node)
pb->SetValue(plClothingComponent::kMeshNodeAddBtn, 0, node);
else
//.........这里部分代码省略.........