|
If you are using Memory Device contexts (where you select your own bitmap into the DC) then you can use this function to find the bounding box to the last changes since you ask for the changes:
::GetBoundsRect
However, if you are trying to detect changes on a window, then you will have to resort to other methods.
Build a man a fire, and he will be warm for a day Light a man on fire, and he will be warm for the rest of his life!
|
|
|
|
|
I have a an MFC application in which I insert and OLE object(Word Document)
Now the problem is that I have an "View" Menu for my application with 6 submenu...So when I insert the Ole object..My Application Menu dissappears and "View" Menu of Microsoft word appears.So any idea how to merge two "View" menus...Is urgent
cheers,
Super
------------------------------------------
Too much of good is bad,mix some evil in it
|
|
|
|
|
how to get a hwnd from an id ?
how to get minuttes from clock?
r00d0034@yahoo.com
|
|
|
|
|
????
To ask the right question you have to know part of the answer. Try to read books, it helps.
|
|
|
|
|
Anonymous wrote:
To ask the right question you have to know part of the answer.
What do you mean with this?
Why does he have to know some part of the answer? Doooh.
Tell me that part!
Rickard Andersson@Suza Computing
C# and C++ programmer from SWEDEN!
UIN: 50302279
E-Mail: nikado@pc.nu
Speciality: I love C#, ASP.NET and C++!
|
|
|
|
|
It is like , when person loves "C#, ASP.NET and C++", but advises others to use gmtime instead of standard windows APIs.
|
|
|
|
|
And why didn't you mention that to him then, stupid "Anonymous"?
Do you know why forums are made? They are made to help people who asking for help.
You didn't help!
But I did... I can acknowledge that I forgot the Win32 API (GetSystemTime) because I've been to long inside the C Runtime Library now. But you knew about the Win32 API so, Why didn't you mention that? Doooooooooohh!!
BTW: Why are you anonymous? Don't you take responsibility for what you say?
Help or be quiet!
Rickard Andersson@Suza Computing
C# and C++ programmer from SWEDEN!
UIN: 50302279
E-Mail: nikado@pc.nu
Speciality: I love C#, ASP.NET and C++!
|
|
|
|
|
Would you like my home address too? I did not mention anything because with your irresponsible answers you are breading ignorant programmers. This person obviously does not know anything about Windows or programming in general. By giving him this "quick fix" you produced yet another hacker, rest of us have to clean up after. This guy should read something, anything, before even coming here.
|
|
|
|
|
Anonymous wrote:
Would you like my home address too?
Not necessary.
Anonymous wrote:
I did not mention anything because with your irresponsible answers you are breading ignorant programmers.
Hm... I answered him with "Look up time(...) and gmtime(...) in MSDN Library....". That is an answer for what he were asking for! And the first one, that thing with HWND and ID I didn't understood so I asked what he meant with that. What did You answered him? Nothing! You said he had to know some damn part of the answer!!
Do I bread ignorant programmers??? You're so stupid!
Anonymous wrote:
This person obviously does not know anything about Windows or programming in general.
Right, then I told him to look up some functions that might be what he were looking for.
Better he look up things and read about it then I give him already written code!
Anonymous wrote:
By giving him this "quick fix" you produced yet another hacker, rest of us have to clean up after.
Hacker? ROTFLMAO!
We are talking about a way to get the minutes from time and how to get a HWND from some ID!
Anonymous wrote:
This guy should read something, anything, before even coming here.
Give him some advice then!
He may be don't have money to buy books and tutorials is hard to find, the good one is.
Rickard Andersson@Suza Computing
C# and C++ programmer from SWEDEN!
UIN: 50302279
E-Mail: nikado@pc.nu
Speciality: I love C#, ASP.NET and C++!
|
|
|
|
|
imran_rafique wrote:
how to get a hwnd from an id ?
What kind of ID do you have?
imran_rafique wrote:
how to get minuttes from clock?
Look up time(...) and gmtime(..) in MSDN Library
nd not to forget, look up the tm struct also!
Rickard Andersson@Suza Computing
C# and C++ programmer from SWEDEN!
UIN: 50302279
E-Mail: nikado@pc.nu
Speciality: I love C#, ASP.NET and C++!
|
|
|
|
|
say id of a button ?
r00d0034@yahoo.com
|
|
|
|
|
Maybe with GetDlgItem ?
Joaquín M López Muñoz
Telefónica, Investigación y Desarrollo
|
|
|
|
|
hi,
:-DI did not get convincing answer the last time.sorry if considered spam.
I am drawing these engineering related drawings that need a lot of pre calculation for neat display before actually being rendered to the user.Every time.Zooming included.I (naturally) used CreateCompatibleDC() function,drew onto that, calculated stuff and continued from there.
The problem arises while scrolling.I set the scrolling sizes according to the bounds of the drawing plus spaces.The bound is calculated as said earlier.When i scroll, things get eaten away.However, moving the drawing slowly using the arrow keys works fine.
Why is this happening?Help.Drawing is the soul and life and ... of my sw
Kofi Ntini
|
|
|
|
|
I'm doing a MFC MDI app, with CScrollView view.
I am getting a very strange problem, the last row of the view is not visible until I resize the window in any way. I can scroll to the bottom, but it won't be visible until the window is resized(Even smaller, I can scroll there and it'll be drawn then)
This is how I set the scroll size
SetScrollSizes(MM_TEXT, CSize(1026, 1026),
CSize(64, 64),
CSize(1, 1));
Everything else draws fine though
This is how the last row is drawn
if (dc->RectVisible(CRect(CPoint(0, 1025), CSize(1026, 1))))
dc->FillSolidRect(0, 1025, 1026, 1, RGB(70, 70, 70));
Still happens if I do it without the RectVisible()
|
|
|
|
|
I can not get the above message to work in an ordinart CDialog messages map.
where the memberFxn looks like:
void edit1Return(NMHDR * pNotifyStruct, LRESULT * result )
{
MessageBox("Carrage return occured");
}
Must there be some kind of initializing in the program? Or how will I get the message to work?
|
|
|
|
|
The dialog is intercepting the pressing of the enter key (and calling OnOK ) before it gets to the focused control. You can try disabling the translation of enter hits as follows:
BOOL CYourDlg::PreTranslateMessage(MSG* pMsg)
{
if(pMsg->message==WM_KEYDOWN&&pMsg->wParam==VK_RETURN)return 0;
return CDialog::PreTranslateMessage(pMsg);
} but we warned that playing with PreTranslateMessage can lead to all sorts of strange behaviors with your app.
Joaquín M López Muñoz
Telefónica, Investigación y Desarrollo
|
|
|
|
|
Does anybody know how to change the mouse cursor form ? I've been trying using lhCursor = AfxGetApp()->LoadStandardCursor(....) to change the cursor image, then SetCursor(lhCursor) make the change visible and finally OnSetCursor to stick with the changes whenever the mouve moves. The problem is that when the mouse leaves the window and comes backin again, it resets it's cursor to the old image, not the one I changed it to.
Thank you
Nelson Gonçalves
|
|
|
|
|
Load the cursor once in OnInitDialog and set it every time OnSetCursor is called just like this:
BOOL CYourDlg::OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message)
{
SetCursor(lhCursor);
return TRUE;
} I've tried it and it works OK.
Joaquín M López Muñoz
Telefónica, Investigación y Desarrollo
|
|
|
|
|
Thank you. I've tried and it works.
Nelson Gonçalves
|
|
|
|
|
Hi
I'm a VC beginner.I'm attempting to make use of the CArray template but i'm at a lost now.(i used CArray as the size of my array is not fixed)I declared a CArray object in my document class and wants to create a function so that other classes might access the array.
Below is an abstract of my program.
in CDocument header file, where m_array1 and GetRawDataArray are declared as public...
----------------
struct SRawData
{
double x;
double y;
};
CArray<srawdata, srawdata=""> m_array1;
CArray GetRawDataArray();
--------------------------------
in the CDocument .cpp file...
------------------------------
CArray CRainAttDoc::GetRawDataArray()
{
return m_array1;
}
this gives me the error message:
(a)error C2955: 'CArray' : use of class template requires template argument list
(b)error C2553: no legal conversion of return value to return type 'class CArray *'
Does anyone know what is happening and what i can do?
Thanks.
|
|
|
|
|
Try this:
in your header file, declare outside of the doc class declaration
typedef CArray <SRawData *, SRawData *> CSRawDataArray;
In the document class definition:
CSRawDataArray m_myDataArray;
Now you may use m_myDataArray like
SRawData *pNewData = new SRawData;
m_myDataArray.Add(pNewData);
while(m_myDataArray.GetCount())
delete m_myDataArray.RemoveHead()
HTH,
K.
<font size=0 color=#C0CFC0>
<hr color=#A0AFA0 width = 60% align=left><i>
One small village of indomitable geeks still holds out against the invaders. And life is not easy for the managers legionaries who garrison the fortified camps of Microsoftum, Javum, Ceplumplum and Vebasum</i></font>
|
|
|
|
|
haa ok
i said thks for your suggestion.gave me quite some insight really.But i still dunno how to create a function to return the array in some way so that other classes may access it.u have any suggestion on that?
|
|
|
|
|
There are several solutions:
* You may add public member functions to your document to manipulate the array from the outside of the document object
* You may directly "lend" the array to other classes like this:
CSRawDataArray &CMyDocument::GetArray()<br />
{<br />
return m_myDataArray;<br />
}
Beware that this method returns a reference on the array, i.e. the "real" object, not a copy.
void COtherClass::AddData(CMyDocument *pDoc, CSRawDataArray *pData)<br />
{<br />
CSRawDataArray &myArray = pDoc->GetArray();<br />
<br />
myArray.Add(pData);<br />
}
HTH,
K.
One small village of indomitable geeks still holds out against the invaders. And life is not easy for the managers legionaries who garrison the fortified camps of Microsoftum, Javum, Ceplumplum and Vebasum
|
|
|
|
|
Hi..i've tried the following but it's still not working.Do you know wat i shld do?
-------------------------------------------------------------------
typedef CArray <srawdata *,="" srawdata="" *=""> CSRawDataArray;//outside class declaration
//in doc header
CSRawDataArray m_array1;
CSRawDataArray& GetRawDataArray() const;
//in doc source file
//doing 2 things here.(1)load data into array from text file (2)define get function
void CRainAttDoc::Serialize(CArchive& ar)
{
CString strOneLine;
while(ar.ReadString(strOneLine))
{
SRawData *pData = new SRawData;
sscanf(strOneLine,"%g%g\n",pData->x,pData->y);
m_array1.Add(pData);
}
}
CSRawDataArray &CRainAttDoc::GetRawDataArray() const
{
return m_array1;
}
---------------------------------------------------------------------
This gives me the following error:
error C2440: 'return' : cannot convert from 'const class CArray<struct srawdata="" *,struct="" *="">' to 'class CArray<struct srawdata="" *,struct="" *=""> &'
When i try to change the object declaration to this:
const CSRawDataArray m_array1;
error C2440 remains and on top of that, the following message for RemoveAll() and Add()
'RemoveAll' : cannot convert 'this' pointer from 'const class CArray<struct srawdata="" *,struct="" *="">' to 'class CArray<struct srawdata="" *,struct="" *=""> &'
I was trying to declare the function const so that other classes cant alter the value as suggested by Roman Fadeyev but it just cant work.I'm pulling my hair out!..haa thks alot for your help.
|
|
|
|
|
I don't understand why you're using the keyword "const". Have you tried without it ?
If you want to be sure the others classes don't mess up with the array, you may declare it as protected in your document class and add public methods (to your document class), to be sure it's the only class which will manipulate directly the array.
One small village of indomitable geeks still holds out against the invaders. And life is not easy for the managers legionaries who garrison the fortified camps of Microsoftum, Javum, Ceplumplum and Vebasum
|
|
|
|