|
Here is a working code that resizes dialog window to the size of the body. Note that you should set body margin to 0 (e.g. with CSS).
Note that if you would want to also set width then you would have to set it first and recalculate and set height afterwards.
void CYourDialogClassDlg::OnDocumentComplete(LPDISPATCH pDisp, LPCTSTR szUrl)
{
CDHtmlDialog::OnDocumentComplete(pDisp, szUrl);
LONG nHeight;
IHTMLDocument2 *pDocument;
IHTMLElement *pElement;
GetDHtmlDocument(&pDocument);
pDocument->get_body(&pElement);
pElement->get_offsetHeight(&nHeight);
LONG nHeightDiff;
CRect rectClient;
GetClientRect(&rectClient);
CRect rectWindow;
GetWindowRect(&rectWindow);
nHeightDiff = rectWindow.Height() - rectClient.Height();
SetWindowPos(NULL, 0, 0, rectWindow.Width(), nHeight+nHeightDiff, SWP_NOMOVE | SWP_NOZORDER);
}
Of course you'll also need declaration in your h:
virtual void OnDocumentComplete(LPDISPATCH pDisp, LPCTSTR szUrl);
Nux
|
|
|
|
|
Hi
I want to draw icons from a file(.ico)
I tried this :
CDC *pDC=GetDC(); <br />
HICON m_Icon=AfxGetApp()->LoadIcon("c:\\MyIcon.ico");<br />
pDC->DrawIcon(335,25,m_Icon);<br />
DestroyIcon(m_Icon);
But it did not worked.
|
|
|
|
|
m_Icon needs to persist as long as the application. If this is a dialog-based application, make m_Icon a member of the dialog object.
Five birds are sitting on a fence.
Three of them decide to fly off.
How many are left?
|
|
|
|
|
if you want to load icons at runtime the you will have to use function LoadImage see on MSDN
LoadIcon only Loads image that are added to the resources at complie time
|
|
|
|
|
I am using WM_KEYUP event for Dialog Box.
The event doesn't register.
I am looking for some simple VC++ code
to get keyboard event in the Dialog Box.
Regards
Smith
Smith
|
|
|
|
|
I tried the same thing a while back. And it does seem that WM_KEYUP messages do not get processed. Who knows? A solution to your problem is a simple keyboard hook. This makes it very reliable to get all keyboard messages back. All it involves is a simple call to SetWindowsHookEx and a call back function for the handling the keyboard messages. Here's a link to a code project article that answers this problem...
http://www.codeproject.com/dll/keyboardhook.asp?target=keyboard%7Chook
|
|
|
|
|
How to plot the graph for reading the walue from the array method.
Example: graph[1] = 12
graph[2] = 16
the computer read the graph array then plot the graph.
|
|
|
|
|
I think you can use the index array values for X and
the values of array for Y value.
Ex: X = 1,2,....
Y = 12, 16
Smith
|
|
|
|
|
Someone can help to build.
I have the code to the TreeView, but I can´t syncronize with RichEditCtrlView.
On wrong manner I did´t with conteiner that is required to RichEditCtrlView.
And I did´t used CEditCtrlDoc - I used CDocument.
Without the modifications a Assert is triggered, only function with the ignore option.
I did everything again with the conteiner, but on function OnUpdate of RichEditCtrlView doesn´t recognize the change of the line on tree with the archive to be seen on the RichEditCtrlView.
I don´t how to include the CEditCtrlDoc .
If is possible I can send the code
I can pay for the help.
|
|
|
|
|
it is not Clear what you are saying
can you paste some code and go slow
When all else fails look in MSDN
|
|
|
|
|
When we touch a line of the tree, the arquive associated with the line is showed on the right side.
The code on the TreeView is working good, but on RichEditCtrlView don´t
I can send the code
For while the code of the RichEditCtrlView
void CShamaiRichEditView::OnUpdate(CView* pSender, LPARAM lHint, CObject* pHint)
{
// TODO: Add your specialized code here and/or call the base class
CString m_File;
CString m_File1;
TCHAR szBuffer[MAX_PATH + 1];
GetCurrentDirectory(sizeof(szBuffer),szBuffer);
MessageBox(szBuffer, "Current Directory", MB_OK |MB_ICONINFORMATION);
m_File=szBuffer;
CString x("\\");
m_File = szBuffer;
// deveria ler o nome do arquivo na variável
// o código deve ser algo próximo disso...
// estou enviando em anexo o código do programa original
CWzdInfo *pSelInfo;
pSelInfo = GetDocument()->GetSelection();
/////////
MessageBox(szBuffer, "Current Directory3", MB_OK |MB_ICONINFORMATION);
if(pSelInfo->m_nCategory == CWzdInfo::FILE)
{
MessageBox(m_File1, "File kkkkk", MB_OK |MB_ICONINFORMATION);
}
if(pSelInfo->m_nCategory == CWzdInfo::FILE)
{
m_File1=pSelInfo->m_sName;
MessageBox(m_File1, "File", MB_OK |MB_ICONINFORMATION);
// m_File = "K:\\Projetos de VC.net\\Shamai\\file1.txt";
m_File= m_File + x + m_File1;
MessageBox(m_File, "File Completo", MB_OK |MB_ICONINFORMATION);
CMainFrame *pFrame= CShamaiApp::GetApp()->GetMainFrame();
// CFrameWnd *pFrame =(CFrameWnd*) AfxGetApp()->m_pMainWnd;
// CMainFrame *pFrame= CShamaiApp::GetApp()->GetMainWnd
CSplitterWnd *pSplitter=pFrame->GetSplitter();
CShamaiRichEditView *pView;
pView = (CShamaiRichEditView *)pSplitter->GetPane(0,1);
LPTSTR m_File2 = new TCHAR[m_File.GetLength()+1];
_tcscpy(m_File2, m_File);
CFile file(m_File2, CFile::modeRead);
CArchive ar(&file, CArchive::load);
MessageBox(m_File, "File Completo - fim " , MB_OK |MB_ICONINFORMATION);
pView->Serialize(ar);
}
else
;
}
|
|
|
|
|
How can I link F1 (WinHelp) to dialog boxes that are created dynamically, "on the fly" in Visual C++/MFC?
|
|
|
|
|
Hi
I met with trouble with MSComm component.In my application i use one.And it worked correctly under Win98 and Win2000.But when i launch my programm it into other computer under Win98 initializaion routine get error
MSCommLib::IMSCommPtr a;
a.CreateInstance(MSCommLib::CLSID_MSComm);<-error here
hr returned an number what cant recognized ErrorLookUp
Please help.
Thank
|
|
|
|
|
Maybe the library file is slightly different? Try copying the one on your working computer to the other one..
Kelly Ryan
|
|
|
|
|
Hi,
Does anyone know how I could set it so that when I move the mouse over a button in an application I'm writing, the cursor will change to something else?
Right now I have the cursor set to something for the main window, but when the cursor moves over a button it switches bact to the default. I want it to use the same cursor as I'm using for the parent window, but I can't find any way to do this.
Thanks,
Kelly
Kelly Ryan
|
|
|
|
|
Try handling the mouse move message. Check to see if cursor is within the button vis PtInRect(). Set cursor.
Kuphryn
|
|
|
|
|
The only problem is, I don't want to set the actual windows cursor using SetCursor, I want to give the buttons individual cursors in the same way that a cursor would be set such as wndclassex.hCursor = etc
I don't want to have to worry about the program crashing/shutting down etc and not getting back my original cursor, as I've had bad experiences with SetCursor in the past. Maybe there isn't a way to do what I'm asking, or maybe there's a way to manipulate SetCursor to do it for me? Basically my ultimate goal is to only have the cursor changed inside my application, which is what it does now with the parent window, but not with the buttons..
Thanks
Kelly Ryan
|
|
|
|
|
Hello,
I want to convert a UNICODE string to double data type.
With non unicode strings I use the "atof" function.
For converting a UNICODE string to long data type there is
the function "_wtol". In the .net library there is the function
"_wtof".
How do I convert a UNICODE string to double data type in Visual C++ 6.0??
Thanks
Stefan
|
|
|
|
|
|
How can I correct start a program by 'CreateProcessAsUser'.
The calling program is a system-service and runs under the 'SYSTEM'-Account.
How can I start the program as the current user.
Thanks
Harry Diel
Harry Diel
|
|
|
|
|
How can I paint a Bitmap in the background of my window, using VC 6.0
thanks
Christian
|
|
|
|
|
You'll need to override your OnPaint() member function of your window. Then 'Paint' (via BitBlting your desired bitmap onto the windows Device Context.
I Dream of Absolute Zero
|
|
|
|
|
or you can do
CBitmap bm;
bm.LoadBitmap(IDB_BITMAP_BK);
CBrush br;
br.CreatePatternBrush(&bm);
now you can return this brush in the onErasebkground funtion
or select it in to dc and draw
When all else fails look in MSDN
|
|
|
|
|
I register my user messages with ::RegisterWindowMessage().
I fail to identify a technique to deregister such a message - will it automatically be free'ed when the application goes, am I blind and fail to see the appropriate function in MSDN, or is Windows running out of user message codes eventually?
Mind you the OS is likely to die on me before this happens, but the question remains...
Any clues?
TIA,
Bernd
|
|
|
|
|
You should only use RegisterWindowMessage() to send messages to another application running in a different process. For internal window message communication you shouldn't really use this. But don't worry if you do when your application shuts down (providing another application hasn't registered the same message) the operating system will gradually release its mapped resource on this string.
If you are just doing this from within your own application have a look at ON_MESSAGE in MSDN. This is the correct way to deal with custom messages from within your application (unless of course you want to pass messages between GUI threads which would use ON_THREAD_MESSAGE)
|
|
|
|