news@csd4.milw.wisc.edu (Net news owner) (03/12/89)
my window title bars. First problem is although my gadget gets tucked into the window border, when I click on it, the drag bar gets activated. From: trantow@csd4.milw.wisc.edu (Jerry J Trantow) Path: csd4.milw.wisc.edu!trantow The second problem is that although I ModifyIDCMP() so I only get NEWSIZE messages when the user manipulates the sizing gadget, I am still getting messages when I move or resize the window for the SHRINK or EXPAND. I appreciate any help. Maybe this "gadget in title bar" could go into the intro posting for comp.sys.amiga.tech if an appropriate responce is put forth. Sorry about the line noise. I thought it was finally time to add Shrink and Expand Window gadgets to some of my programs and I thought I had it all figured out. I thought I could do Move() and SizeWindows() when the gadgets were selected. I also want to keep the original dimensions so the user can toggle back and forth from max, min, to original window settings. I figured I could keep track of the SHRINK, EXPAND status with a flag and whenever the user resized the window I would get a NEWSIZE message that would clear the SHRINK or EXPAND flags. My problem is that even though I do a ModifyIDCMP() to turn off the NEWSIZE message when I resize for a SHRINK or EXPAND I still am getting NEWSIZE messages!!! DO I HAVE TO WAIT or GET a MESSAGE or WHAT??? On the same problem, the following declarations put my gadget in the window border, but when I click the gadget it selects the drag bar. I know this question pops up every so often. ( how to put gadgets in the title bar) Maybe an appropriate responce could go into the intro posting. struct Gadget ExpandGadget = { (struct Gadget *)NULL, /* NextGadget */ 100,0,10,10, /* dimensions */ (USHORT)GADGIMAGE|GADGHCOMP, /* Flags */ (USHORT)GADGIMMEDIATE|RELVERIFY|TOPBORDER, /* Activation */ (USHORT)BOOLGADGET, /* GadgetType */ (APTR)&g_image, /* GadgetRender */ (APTR)NULL, /* SelectRender */ (struct IntuiText *)NULL, /* GadgetText */ 0L, /* MutualExclude*/ (APTR)NULL, /* SpecialInfo */ (USHORT)EXPANDGAD, /* GadgetID */ (APTR)NULL /* UserData */ }; struct NewWindow NewProjectWindow= { 10,20,400,75, (UBYTE)-1,(UBYTE)-1, (ULONG)0, /* attach the port to BackDrop Window */ (ULONG)REPORTMOUSE|WINDOWSIZING|WINDOWDEPTH|WINDOWCLOSE|WINDOWDRAG|SIMPLE_REFRESH, (struct Gadget *)&ExpandGadget, /* First Gadget */ (struct Image *)NULL, (UBYTE *)"Project Window", NULL,NULL, 200,50,640,195, CUSTOMSCREEN }; case EXPANDGAD: ModifyIDCMP(WPtr,(LONG)WPtr->IDCMPFlags&(~NEWSIZE)); if ((NodePtr->Flags & EXPAND)!=0) /* already Expanded, so restore */ { NodePtr->Flags=NodePtr->Flags&(~EXPAND&~SHRINK); SizeWindow(WPtr,(LONG)NodePtr->Width-WPtr->Width,(LONG)NodePtr->Height-WPtr->Height); MoveWindow(WPtr,(LONG)NodePtr->LeftEdge-WPtr->LeftEdge,(LONG)NodePtr->TopEdge-WPtr->TopEdge); } else { NodePtr->Flags=NodePtr->Flags|EXPAND; NodePtr->Flags=NodePtr->Flags&(~SHRINK); MoveWindow(WPtr,(LONG)-WPtr->LeftEdge,(LONG)WPtr->BorderTop-WPtr->TopEdge); SizeWindow(WPtr,(LONG)WPtr->MaxWidth-WPtr->Width,(LONG)WPtr->MaxHeight-WPtr->BorderTop-WPtr->Height); } ModifyIDCMP(WPtr,(LONG)WPtr->IDCMPFlags|NEWSIZE); break;