Your browser does not seem to support JavaScript. As a result, your viewing experience will be diminished, and you have been placed in read-only mode.
Please download a browser that supports JavaScript, or enable it if it's disabled (i.e. NoScript).
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 29/09/2010 at 13:17, xxxxxxxx wrote:
User Information: Cinema 4D Version: 11 / 12 Platform: Windows ; Language(s) : C++ ;
--------- Hi there,
can somebody quickly point me towards how i can add images to my description? I'd like to add some small icons next to my parameters.
is that possible? maybe in the res file?
cheers and thanks, ello
On 29/09/2010 at 14:21, xxxxxxxx wrote:
It is possible but not simple. If you don't want them to be buttons, just omit BUTTON from the .res file:
// Ogreebler.res CONTAINER Ogreebler { NAME Ogreebler; INCLUDE Obase; GROUP ID_OBJECTPROPERTIES { DEFAULT 1; // Help and Information about Greebler BITMAPBUTTON GREEBLER_INFO { ANIM OFF; BUTTON; } ... // GreeblerObject.cpp // NodeData.Message //*---------------------------------------------------------------------------* Bool GreeblerObj::Message(GeListNode* node, LONG type, void* data) //*---------------------------------------------------------------------------* { if (!node) return FALSE; if (type == MSG_DESCRIPTION_GETBITMAP) return MsgGetBitmap(static_cast<DescriptionGetBitmap*>(data), static_cast<BaseObject*>(node)); ... return SUPER::Message(node,type,data); } // GreeblerObj.MsgGetBitmap //*---------------------------------------------------------------------------* Bool GreeblerObj::MsgGetBitmap(DescriptionGetBitmap* dgb, BaseObject* op) //*---------------------------------------------------------------------------* { if (!(dgb && op)) return TRUE; BaseContainer* bc = op->GetDataInstance(); LONG id = dgb->id[0].id; if (id == GREEBLER_INFO) { Filename bg = GeGetPluginPath()+Filename("res")+Filename("banner.tif"); if (!GeFExist(bg)) return TRUE; AutoAlloc<BaseBitmap> bm; bm->Init(bg); dgb->bmp = bm.Release(); } return TRUE; } // NodeData.GetDParameter //*---------------------------------------------------------------------------* Bool GreeblerObj::GetDParameter(GeListNode* node, const DescID& id, GeData& t_data, DESCFLAGS_GET& flags) //*---------------------------------------------------------------------------* { if (!node) return FALSE; LONG did = id[0].id; switch (did) { // BitmapButtons case GREEBLER_INFO: { BitmapButtonStruct bbs(static_cast<PluginObject*>(node), id, 0L); t_data = GeData(CUSTOMDATATYPE_BITMAPBUTTON, bbs); flags |= DESCFLAGS_GET_PARAM_GET; break; } default: break; } return SUPER::GetDParameter(node, id, t_data, flags); } // NodeData.SetDParameter //*---------------------------------------------------------------------------* Bool GreeblerObj::SetDParameter(GeListNode* node, const DescID& id, const GeData& t_data, DESCFLAGS_SET& flags) //*---------------------------------------------------------------------------* { if (!node) return FALSE; LONG did = id[0].id; // Info BitmapButton if (did == GREEBLER_INFO) { if (flags & DESCFLAGS_SET_USERINTERACTION) { // user clicked on button - open Dialog greebler->ShowHelpDialog(); } flags |= DESCFLAGS_SET_PARAM_SET; } return SUPER::SetDParameter(node, id, t_data, flags); }
On 29/09/2010 at 23:08, xxxxxxxx wrote:
Omg.. thank you for that. This is quite a lot to just display an image And i was planing to add a picture to all parameters because they are hard to describe by words.
Lets see if i can get that to work...
kind regards, ello
edit: just wanted to say thank you.. i got it working
On 01/10/2010 at 05:53, xxxxxxxx wrote:
just one more question: how can i use a bitmap which contains a bunch of symbols and adress them via an offset? somehow like cinema does it with its interface icons?
thanks for any input.. cheers, ello
On 01/10/2010 at 09:06, xxxxxxxx wrote:
Load the big image and copy the part you need to the the allocated basebitmap.
On 01/10/2010 at 09:18, xxxxxxxx wrote:
thank you very much for the hint...