本文整理汇总了C++中ITsStrFactoryPtr::GetIncBldr方法的典型用法代码示例。如果您正苦于以下问题:C++ ITsStrFactoryPtr::GetIncBldr方法的具体用法?C++ ITsStrFactoryPtr::GetIncBldr怎么用?C++ ITsStrFactoryPtr::GetIncBldr使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ITsStrFactoryPtr
的用法示例。
在下文中一共展示了ITsStrFactoryPtr::GetIncBldr方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: GetStrForGuid
/*----------------------------------------------------------------------------------------------
Return the text string that gets shown to the user when this object needs to be displayed.
This is the method for displaying the name of a single reference. This view shows the
name for an RnGenericRec consisting of the type of record, hyphen, title, hyphen,
creation date. "Subevent - Fishing for pirana - 3/22/2001"
@param pguid Pointer to a database object's assigned GUID.
@param pptss Address of a pointer to an ITsString COM object used for returning the text
string.
@return S_OK, E_POINTER, or E_FAIL.
----------------------------------------------------------------------------------------------*/
STDMETHODIMP CleRecVc::GetStrForGuid(BSTR bstrGuid, ITsString ** pptss)
{
Assert(false); // rework
BEGIN_COM_METHOD;
ChkComBstrArg(bstrGuid);
ChkComOutPtr(pptss);
if (BstrLen(bstrGuid) != 8)
ReturnHr(E_INVALIDARG);
CleMainWnd * pcmw = dynamic_cast<CleMainWnd *>(AfApp::Papp()->GetCurMainWnd());
AssertPtr(pcmw);
CleLpInfo * plpi = dynamic_cast<CleLpInfo *>(pcmw->GetLpInfo());
AssertPtr(plpi);
HVO hvo = plpi->GetDbInfo()->GetIdFromGuid((GUID *)bstrGuid);
CustViewDaPtr qcvd;
plpi->GetDataAccess(&qcvd);
AssertPtr(qcvd);
int clid;
HVO hvoOwn;
int64 ntim;
ITsStringPtr qtssTitle;
CheckHr(qcvd->get_IntProp(hvo, kflidCmObject_Class, &clid));
CheckHr(qcvd->get_ObjectProp(hvo, kflidCmObject_Owner, &hvoOwn));
// REVIEW KenZ(RandyR) Whey are DN flids in this app?
CheckHr(qcvd->get_TimeProp(hvo, kflidRnGenericRec_DateCreated, &ntim));
CheckHr(qcvd->get_StringProp(hvo, kflidRnGenericRec_Title, &qtssTitle));
int stid;
// REVIEW KenZ(RandyR) Whey are DN flids in this app?
if (clid == kclidRnEvent)
{
if (pcmw->GetRootObj() == hvoOwn)
stid = kstidEvent;
else
stid = kstidSubevent;
}
else if (clid == kclidRnAnalysis)
{
if (pcmw->GetRootObj() == hvoOwn)
stid = kstidAnalysis;
else
stid = kstidSubanalysis;
}
StrUni stu(stid);
StrUni stuSep(kstidSpHyphenSp);
ITsStrFactoryPtr qtsf;
ITsIncStrBldrPtr qtisb;
qtsf.CreateInstance(CLSID_TsStrFactory);
CheckHr(qtsf->GetIncBldr(&qtisb));
CheckHr(qtisb->Append(stu.Bstr()));
CheckHr(qtisb->Append(stuSep.Bstr()));
CheckHr(qtisb->AppendTsString(qtssTitle)); // The title.
CheckHr(qtisb->Append(stuSep.Bstr()));
// Leave the date blank if a date doesn't exist.
if (ntim)
{
// Convert the date to a system date.
SilTime tim = ntim;
SYSTEMTIME stim;
stim.wYear = (unsigned short) tim.Year();
stim.wMonth = (unsigned short) tim.Month();
stim.wDay = (unsigned short) tim.Date();
// Then format it to a time based on the current user locale.
achar rgchDate[50]; // Tuesday, August 15, 2000 mardi 15 août 2000
::GetDateFormat(LOCALE_USER_DEFAULT, DATE_SHORTDATE, &stim, NULL, rgchDate, 50);
stu = rgchDate;
CheckHr(qtisb->Append(stu.Bstr()));
}
CheckHr(qtisb->GetString(pptss));
return S_OK;
END_COM_METHOD(g_fact2, IID_IVwViewConstructor)
}