Where is BFM_DRAGRESULT defined??
-
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 09/06/2003 at 13:36, xxxxxxxx wrote:
User Information:
Cinema 4D Version: 8.100
Platform:
Language(s) : C.O.F.F.E.E ;---------
hiThe documentation about Ge:Dialog::DragMessage says:
... (example)
var result = new(BaseContainer, BFM_DRAGRESULT);
...I searched for this variable but can't find it (not in the c4d R7 C++ SDK or the whole cinema4D directory).
As long as I don't know at least the value, the code is pretty useless.Another awardwinning "I-cannot-search" mistake or a bug in the documentation?
thx in advance
-zet
-
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 09/06/2003 at 15:09, xxxxxxxx wrote:
what about "I-can-search-this-forum" option?
-
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 09/06/2003 at 21:36, xxxxxxxx wrote:
what about the - WHERE?
-
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 10/06/2003 at 09:44, xxxxxxxx wrote:
Centurion: So, your father was a Voman. Who was he?
Brian: He was a centurion, in the Jerusalem garrison, sir.
Pontius Pilate: Veally? What was his name?
Brian: Naughtius Maximus.
Centurion: Pahaha...
Pontius Pilate: Centuvion, do you have anyone of that name
in the gavvison?
Centurion: Well...no, sir.
Pontius Pilate: Well, you sound very sure. Have you checked?
Centurion: Well, no, sir, ehm...I think it's a joke, sir.
Like, ehm, Sillius Soddus, or...or, Biggus Dickus, sir.
Legionary III: Pffhrpffpfff...
Pontius Pilate: What's, ehm...funny about Biggus Dickus?----
So have you checked - or do you want to let me die stupid?
Btw: Can I catch Material drops - whenever I am pulling a Material over the window, I receive a null message...
-
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 10/06/2003 at 13:51, xxxxxxxx wrote:
First of all, I don't think DragMessage() has been in the SDK since R6, so you can probably disregard that part of the C.O.F.F.E.E. docs. I couldn't find BFM_DRAGRESULT either.
There's an example of drag and drop in the guidemo.cof file. I couldn't detect any specific problems with materials there. However, the drag finished message doesn't seem to be working out-of-the box with R8 in that example file.
If you search for BFM_DRAG_FINISHED you'll find two threads discussing this issue. (From what I can see in the console, this message is sent, just not in the same way that is was in R7.)
And Samir, you're more than welcome to fill me in. Your C.O.F.F.E.E. drag&drop is more recent than mine I guess... -
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 10/06/2003 at 15:36, xxxxxxxx wrote:
Hi,
well, the last posts I have done is the rest of my COFFEE drag & drop thoughts crawling through my head too
Once again here is an example plugin I have posted. It should work fine in R8.1 and uses an editfield for the dragoperation. BFM_DRAGRESULT isn´t necessary and I never used it either for it wasn´t documented...but you can use SetDragDestination() to change the mouse pointer to indicate the dropping result.var PLUGIN_ID = 1010111; class MyDialog : GeDialog { public: MyDialog(); CreateLayout(); Message(msg); } MyDialog::MyDialog() { super(PLUGIN_ID); } enum { drag_TEST=1000 } MyDialog::CreateLayout() { AddEditText(drag_TEST , BFH_SCALE, 200, 0); return TRUE; } var obj; MyDialog::Message(msg) { if(msg->GetId() == BFM_dragRECEIVE) { if(CheckDropArea(drag_TEST, msg, TRUE, TRUE)) { obj= GetdragObject(msg); SetString(drag_TEST, obj->GetName()); **Set dragDestination(MOUSE_POINT_HAND); ** return TRUE; } } return super::Message(msg); } class MyMenuPlugin : MenuPlugin { public: MyMenuPlugin(); GetID(); GetName(); GetHelp(); Execute(doc); RestoreLayout(secret); } MyMenuPlugin::MyMenuPlugin() { super(); } MyMenuPlugin::GetID() { return PLUGIN_ID; } MyMenuPlugin::GetName() { return "drag"; } MyMenuPlugin::GetHelp() { return "drag"; } var d; MyMenuPlugin::Execute(doc) { d->Open(TRUE,-1,-1); } MyMenuPlugin::RestoreLayout(secret) { if (!d) d = new(MyDialog); d->RestoreLayout(secret); } main() { d = new(MyDialog); Register(MyMenuPlugin); }
Maybe you want to add a few lines that will help you get the object only
if the drag is finished. Then your message function should look somehow like
this:var obj,temp; MyDialog::Message(msg) { if(msg->GetId() == BFM_dragRECEIVE) { if(CheckDropArea(drag_TEST, msg, TRUE, TRUE)) { temp = GetdragObject(msg); SetdragDestination(MOUSE_POINT_HAND); SetString(drag_TEST, temp->GetName()); if(msg->GetData(BFM_drag_FINISHED)) { obj= GetdragObject(msg); SetString(drag_TEST, obj->GetName()); } return TRUE; } else SetString(drag_TEST, ""); } return super::Message(msg); }
-
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 10/06/2003 at 22:30, xxxxxxxx wrote:
Thank you very much for your time to help me.
I found your earlier code Samir, and it works great for my use. The not so important problem was then to catch the material drop - GetdragObject(msg); returns null in that case.
cu