|
Hi,
I have some application that i wrote as doc/view architecture.
In this application i pop up some child window using DoModal.
The child windows is up and the application need to ignore all the action that i doing on the main window ( because of the doModal of the child window ).
But - actually - when i try to minimize the main window i find out that the application not ignoring the minimize command and the application is minimize.
How its can be ? how can i solve this problem ?
P.S: the minimize is done by doing a lot of clicking on the minimize button on the title bar. If clicking only once - nothing happened.
Thanks.
|
|
|
|
|
I am not sure but, I think It could be a reason some time main window is getting the message while the modal dialog not getting.
May be very rare.
Thanks,
Suman
--
"Programming is an art that fights back!"
|
|
|
|
|
Its obvious that the main window got some message - but how its can be ? and how it can be solved ?
|
|
|
|
|
|
umai wrote: however i got problem to do the looping as my lecturer want me to...can anyone teach me how to do it?
Please detail your problem: what exactly do you need to accomplish and what is your trouble about?
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
|
|
|
|
|
//////////////////////////////RGB CHANGE TO GREY SCALE COLOR/////////////////////////
for(x=X_START;x<=X_END;x+=X_SKIP) //ORIGINAL IMAGE SIZE-X AXIS
{
for(y=Y_START_SE;y<=Y_END_SE;y+=Y_SKIP) //SELECTED SCAN AREA-Y AXIS(FR ORI SIZE)
{
color=pDC->GetPixel(x,y);
m = 0.5*x;
n = 0.5*y;
r_image[m][n] = GetRValue(color);
g_image[m][n] = GetGValue(color);
b_image[m][n] = GetBValue(color);
brightness_image[m][n] = ((222*r_image[m][n]+707*g_image[m][n]+71*b_image[m][n])/1000);
if(brightness_image[m][n]<0)
brightness_image[m][n] = 0;
if(brightness_image[m][n]>255)
brightness_image[m][n] = 255;
Haugh_image[m][n]=0;//Haugh_image INITIALIZATION
}
}
for(x=X_START;x<=X_END;x+=X_SKIP) //ORIGINAL IMAGE SIZE-X AXIS
{
for(y=Y_START_SE2;y<=Y_END_SE2;y+=Y_SKIP) //SELECTED SCAN AREA-Y AXIS(FR ORI SIZE)
{
color=pDC->GetPixel(x,y);
m = 0.5*x;
n = 0.5*y;
r_image[m][n] = GetRValue(color);
g_image[m][n] = GetGValue(color);
b_image[m][n] = GetBValue(color);
brightness_image[m][n] = ((222*r_image[m][n]+707*g_image[m][n]+71*b_image[m][n])/1000);
if(brightness_image[m][n]<0)
brightness_image[m][n] = 0;
if(brightness_image[m][n]>255)
brightness_image[m][n] = 255;
Haugh_image[m][n]=0;//Haugh_image INITIALIZATION
}
}
//////////////////EDGE DETACTION BY SOBEL FILTER & DENSITY CONVERSION///////////////////
//UPPER LEFT AREA
for(x=X_START_L1+1;x<=X_END_L1-1;x++)
{
for(y=Y_START_TH+1;y<=Y_END_TH-1;y++)
{
d[0]=brightness_image[x-1][y-1];
d[1]=brightness_image[x-1][y];
d[2]=brightness_image[x-1][y+1];
d[3]=brightness_image[x][y-1];
d[4]=brightness_image[x][y];
d[5]=brightness_image[x][y+1];
d[6]=brightness_image[x+1][y-1];
d[7]=brightness_image[x+1][y];
d[8]=brightness_image[x+1][y+1];
yyy=(float)(cy[0]*d[0] + cy[1]*d[1] + cy[2]*d[2] +cy[3]*d[3] +cy[4]*d[4] +cy[5]*d[5] +cy[6]*d[6] + cy[7]*d[7] + cy[8]*d[8]);
zzz=(float)(sqrt(yyy*yyy));
dat=(int)zzz;
if(dat>255) dat= 255;
sobel_image[x][y] = 255-(char)dat;
a = sobel_image[x][y];
pDC->SetPixel(x,y,RGB(a,a,a));
}
}
//UPPER RIGHT AREA
for(x=X_START_R1+1;x<=X_END_R1-1;x++)
{
for(y=Y_START_TH+1;y<=Y_END_TH-1;y++)
{
d[0]=brightness_image[x-1][y-1];
d[1]=brightness_image[x-1][y];
d[2]=brightness_image[x-1][y+1];
d[3]=brightness_image[x][y-1];
d[4]=brightness_image[x][y];
d[5]=brightness_image[x][y+1];
d[6]=brightness_image[x+1][y-1];
d[7]=brightness_image[x+1][y];
d[8]=brightness_image[x+1][y+1];
yyy=(float)(cy[0]*d[0] + cy[1]*d[1] + cy[2]*d[2] +cy[3]*d[3] +cy[4]*d[4] +cy[5]*d[5] +cy[6]*d[6] + cy[7]*d[7] + cy[8]*d[8]);
zzz=(float)(sqrt(yyy*yyy));
dat=(int)zzz;
if(dat>255) dat= 255;
sobel_image[x][y] = 255-(char)dat;
a = sobel_image[x][y];
pDC->SetPixel(x,y,RGB(a,a,a));
}
}
//LOWER LEFT AREA
for(x=X_START_L2+1;x<=X_END_L2-1;x++)
{
for(y=Y_START_TH2+1;y<=Y_END_TH2-1;y++)
{
d[0]=brightness_image[x-1][y-1];
d[1]=brightness_image[x-1][y];
d[2]=brightness_image[x-1][y+1];
d[3]=brightness_image[x][y-1];
d[4]=brightness_image[x][y];
d[5]=brightness_image[x][y+1];
d[6]=brightness_image[x+1][y-1];
d[7]=brightness_image[x+1][y];
d[8]=brightness_image[x+1][y+1];
yyy=(float)(cy[0]*d[0] + cy[1]*d[1] + cy[2]*d[2] +cy[3]*d[3] +cy[4]*d[4] +cy[5]*d[5] +cy[6]*d[6] + cy[7]*d[7] + cy[8]*d[8]);
zzz=(float)(sqrt(yyy*yyy));
dat=(int)zzz;
if(dat>255) dat= 255;
sobel_image[x][y] = 255-(char)dat;
a = sobel_image[x][y];
pDC->SetPixel(x,y,RGB(a,a,a));
}
}
//LOWER RIGHT AREA
for(x=X_START_R2+1;x<=X_END_R2-1;x++)
{
for(y=Y_START_TH2+1;y<=Y_END_TH2-1;y++)
{
d[0]=brightness_image[x-1][y-1];
d[1]=brightness_image[x-1][y];
d[2]=brightness_image[x-1][y+1];
d[3]=brightness_image[x][y-1];
d[4]=brightness_image[x][y];
d[5]=brightness_image[x][y+1];
d[6]=brightness_image[x+1][y-1];
d[7]=brightness_image[x+1][y];
d[8]=brightness_image[x+1][y+1];
yyy=(float)(cy[0]*d[0] + cy[1]*d[1] + cy[2]*d[2] +cy[3]*d[3] +cy[4]*d[4] +cy[5]*d[5] +cy[6]*d[6] + cy[7]*d[7] + cy[8]*d[8]);
zzz=(float)(sqrt(yyy*yyy));
dat=(int)zzz;
if(dat>255) dat= 255;
sobel_image[x][y] = 255-(char)dat;
a = sobel_image[x][y];
pDC->SetPixel(x,y,RGB(a,a,a));
}
}
this is the programming for the image conversion...let say, i want to create a loop for this command...how i want to do it?
|
|
|
|
|
First of all, please, use <pre> tags around code snippets.
Why don't you wrap that code inside a function and then iteratively call it?
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
|
|
|
|
|
Because that adds the cost of a function call to every pixel that is processed ?
Christian Graus
Please read this if you don't understand the answer I've given you
"also I don't think "TranslateOneToTwoBillion OneHundredAndFortySevenMillion FourHundredAndEightyThreeThousand SixHundredAndFortySeven()" is a very good choice for a function name" - SpacixOne ( offering help to someone who really needed it ) ( spaces added for the benefit of people running at < 1280x1024 )
|
|
|
|
|
Actually he needs to loop over images.
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
|
|
|
|
|
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|
Hello,
I have made a dll of my classes and using them in a project. The project compiles properly but when I try to execute the project the behaviour is wierd.
The classes otherwise (without dll) are working as expected.
what must be the reason?
Regards
Pritha
|
|
|
|
|
Please define "weird".
|
|
|
|
|
See here [^]
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
|
|
|
|
|
Mmmhh, yes okayyyyy. That will help us a lot understanding the problem
|
|
|
|
|
prithaa wrote: the behaviour is wierd.
This normally happens when the code is weird. How about fixing that?
Nobody can give you wiser advice than yourself. - Cicero
.·´¯`·->Rajesh<-·´¯`·.
Codeproject.com: Visual C++ MVP
|
|
|
|
|
Rajesh R Subramanian wrote: This normally happens when the code is weird
That was a good one.
|
|
|
|
|
Hello,
Thanks for all your replies.
The classes are working fine.Now when I make dll of them and include that dll for a client project the classes don't behave as were behaving earlier.
For ex I have a code
int Parent=0;
for(int i=0;i<10;++i)
{if(mstruct[i]=="Parent")
++Parent;
else
--Parent;
}
Now even if mstruct[i] = "Parent" the compiler moves to Parent--.
In my code (without dll )I would get ++Parent.
What must be the reason?
Thanks for your co-operation
Pritha
|
|
|
|
|
What is the type of mstruct ? If yo are using C-style strings, you can't compare strings this way: this will only compare if the addresses are the same, not the contents. With C-strings you should use strcmp function instead.
|
|
|
|
|
Hello,
Thanks for your reply.
mstruct is a CString .but anyway whatever works in my classes should work in dlls ,right? If there was a problem it should arise while making the classes not while mking dlls.
Thanks
Pritha
|
|
|
|
|
Did you try debugging to see what's happening in details ?
|
|
|
|
|
Hello,
Thanks,
Yes I tried debugging and found this.This code is in my classes from the dlls and not in the current project.
Pritha
|
|
|
|
|
|
Looping ?? You mean using a for or a do/while loop ?
If yes, it has nothing to do with MFC but it's pure C/C++ keyword. I also suggest that you read a good book about C or C++ programming (depends what interests you) because it is really really basic stuff.
|
|
|
|
|
...C tutorial is needed.
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
|
|
|
|
|
If you delete your qeustion you cant get different answers.
|
|
|
|