#Window active help
Vic, I have two windows, called pic and text. Pic is 320X100, and is used to
only display the pictures, using DrawImage. Text is 320X200, and has the
console device opened to it. I want to be able to have depth and close gadtes
in both windows, but the console device opened up in only one. If someone
accidently selects pic, or uses the depth gadgets to put pic in back, I still
want to wake up for console msgs coming into text. However, if someone
activated pic, then I WON'T get those msgs until the person reactivate's text.
I guess what Ireally want is for pic to NEVER be active, and to only do depth
and close window. I tried the below code, but never got a INACTIVEWINDOW event
for text. Can you see anything that would keep it from working?
#define TIFLAGS CLOSEWINDOW | INACTIVEWINDOW | ACTIVEWINDOW #define PIFLAGS
CLOSEWINDOW | ACTIVEWINDOW #define TWFLAGS WINDOWCLOSE | WINDOWDEPTH |
SMART_REFRESH | NOCAREREFRESH \
| ACTIVATE #define PWFLAGS WINDOWCLOSE | WINDOWDEPTH |
SMART_REFRESH | NOCAREREFRESH
wakeUpSig = Wait(textIntuiSig | picIntuiSig | conReadSig);
if (wakeUpSig == textIntuiSig) {
message = (struct IntuiMessage *) GetMsg(textwin->UserPort);
if(message != NULL) {
class = message->Class;
code = message->Code;
ReplyMsg((struct Message *)message);
} /* if*/
switch(class){
case CLOSEWINDOW:
DoCloseUp();
exit(1);
case INACTIVEWINDOW:
printf("text window inactive\n");
if ((1 << WINDOWACTIVE) & picwin->Flags)
ActivateWindow(textwin);
break;
case ACTIVEWINDOW:
printf("text window active\n");
break;
} /* switch */
} /* if */
else if (wakeUpSig == picIntuiSig) {
message = (struct IntuiMessage *) GetMsg(picwin->UserPort);
if(message != NULL) {
class = message->Class;
code = message->Code;
ReplyMsg((struct Message *)message);
} /* if*/
switch(class){
case CLOSEWINDOW:
DoCloseUp();
exit(1);
case ACTIVEWINDOW: ****** MORE *****