|
hi ,
thanks jose . what you said was write, the result of the comparison was being assigned to the writebytes. i changed that and it is working fine. i removed the operator as sunit5 had told and now everything is working fine.
in same application i want to add drag and drop from the remote location to the local directories. for this i am using two list controls ( one for each). can you tell how to list the contents of the drives in the list controls ( for the local ones). and i am not able to use the combo box in my application ( my application is a SDI application with the view class derived from CFormView. Is that a constraint for using combo box. i get an exception everytime i am trying to add something in the combo box) .
thanks
aditya
|
|
|
|
|
Aditya Rao wrote:
can you tell how to list the contents of the drives in the list controls ( for the local ones).
To obtain the files in a given directory, you can use FindFirstFile[^], FindNextFile[^], and FindClose[^]. For each file you find you can add an item to the list.
Aditya Rao wrote:
and i am not able to use the combo box in my application ( my application is a SDI application with the view class derived from CFormView. Is that a constraint for using combo box. i get an exception everytime i am trying to add something in the combo box
I don't think it has anything to do with your application being SDI or your view being a CFormView. Rather, the problem may be at what point in time you are trying to access the combobox. I seem to remember reading in some other post that you are trying to add an item to the combobox from your view's OnCreate function. At that point, the combobox is most likely not already created, and thus you won't be able to add any item. If that's the case, try accessing the combobox from your view's OnInitialUpdate , after calling the base class implementation.
--
jlr
http://jlamas.blogspot.com/[^]
|
|
|
|
|
|
Ivan Cachicatari wrote:
How to hide/show items of CMenu in runtime?
For that you have to Dynamically Delete them and Then Add them again Runtime!, But remember during addition and deletion there ID should be persistence!.
See MSDN for Help of CMenu::RemoveMenu and CMenu::ModifyMenu
"Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow
cheers,
Alok Gupta
VC Forum Q&A :- I/ IV
|
|
|
|
|
CMenu *pMenu=GetMenu();
pMenu->EnableMenuItem(ID_SEARCHINLISTCONTINUE, MF_BYCOMMAND | MF_DISABLED | MF_GRAYED);
pMenu->EnableMenuItem( ID_COMEBACK_MBR, MF_BYCOMMAND | MF_ENABLED);
|
|
|
|
|
Hi all, I have a call to GetConsoleWindow() in my program. According to the MSDN I define the _WIN32_WINNT >= 0x0500, and I also include the windows.h header. But the error saying undeclared identifier on the GetConsoleWindow() still appears when I compile. I am compiling the code under Windows 2000 Professional and the macro defined should be corret according to the MSDN. Can anyone tell me what am I doing wrong and how can I fix it? Thanks.
|
|
|
|
|
chiyinhk wrote:
Can anyone tell me what am I doing wrong and how can I fix it?
How and where did you define _WIN32_WINNT ?
Where are you including windows.h ?
--
jlr
http://jlamas.blogspot.com/[^]
|
|
|
|
|
|
D3DXCreateTextureFromFile(g_pD3DDevice,"Texture.bmp",&g_pTexture);
如果要把讀.bmp改成讀CBitmap的話,要如何改?
How to I change that input .bmp replace as input CBitmap For CreateTexture?
|
|
|
|
|
Hello,
I am a newbie to MFC programming in VC++. I can't seem to create more than one splitter in my MFC application.
I need to create a window similar to windows explorer but on the right I want 2 panes not 1. So instead of the right pane I want 2 horizontal panes (one on top of the other). Ultimately what I want to do is:
1)display a directory tree in the left pane
2)display files and/or directories (of selected directory from tree) in the right-top pane.
3)display contents of selected file (from above pane) in right-bottom pane.
So I can get the first vertical splitter - Visual Studio actually makes it for me cause in the application creation wizard, under visual interface features, for toolbars i selected "standard docking" with "browser style". But I can't seem to add another one.
I would appreciate if anyone could tell me how to code for this second splitter and where to code this (what class and function).
TraileR ParK LifE 4Ever >:{
|
|
|
|
|
Add another CSplitterWnd variable to your CMainFrame class, e.g. m_RightSplitter.
Replace CMainFrame::OnCreateClient with code similar to:
if (!m_wndSplitter.CreateStatic(this, 1, 2))
{
m_wndSplitter.DestroyWindow();
return FALSE;
}
if( ! m_wndSplitter.CreateView(0, 0, RUNTIME_CLASS(CLeftView), CSize(100, 100), pContext) )
return(FALSE);
m_RightSplitter.CreateStatic( &m_wndSplitter, 2, 1, WS_CHILD | WS_VISIBLE, m_wndSplitter.IdFromRowCol(0,1) );
if( ! m_RightSplitter.CreateView(0, 0, RUNTIME_CLASS(CTopRightView), CSize(100, 100), pContext) ||
! m_RightSplitter.CreateView(1, 0, RUNTIME_CLASS(CBottomRightView), CSize(100, 100), pContext) )
{
return(FALSE);
}
|
|
|
|
|
Hi Bill,
Thanks for the reply. When I try your code I get these errors :
error: C2039: 'classCTopRightView': is not a member of 'CTopRightView'
error: C2065: 'classCTopRightView': undeclared identifier
<<another 2="" errors="" like="" above="" but="" relating="" to="" cbottomrightview="">>
I added CTopRightView and CBottomRightView as 'Generic C++ classes' (did not code them though - dont know how ). I have no idea why its adding the word 'class' in front of the 2 class names.
TraileR ParK LifE 4Ever >:{
|
|
|
|
|
They have to CWnd derived classes - most likely derived from CView. In addition they also have to have DECLARE_DYNCREATE in the class header file and IMPLEMENT_DYNCREATE in the class source file. If you look at the default CView classes created for the project you will see these lines.
Use "MFC Class" to create the classes instead and derive them from CView. It will then put these lines in automatically for you.
The "classCTopRightView" is a special member variable that MFC puts in for runtime class typing and dynamic creation. It uses the name "classCYOURCLASSNAMEHERE" as the member name. The above macros put these in for you.
|
|
|
|
|
WOW! It worked! Thanks a lot, really appreciate it... not many people help out on their own time, thanks greatly again!
TraileR ParK LifE 4Ever >:{
|
|
|
|
|
I am trying to use a grid control with a combobox in one
of the fields. it works with CDialog but it does not work
with CFormView
I did exactly like it says here
http://www.codeproject.com/listctrl/nirs2000.asp
exept I used it with CFormView
and when I click a fild twice(not double click the clicks
can be minutes apart)
it crashes saying something about wincore.c
and it gives me a messagebox with abort retry ignore
I can provide the source for anyone that might want to
help me.
thank you all in advance
excuse me for my bad english
|
|
|
|
|
Hi, I want to open the system menu of a window from code instead of as usual letting the user do it by right mouse-clicking on the top left icon. I use GetSystemMenu() to get the system menu and TrackPopupMenu() to display it. The system menu shows up but when I click on any menu item, nothing is routed back to the window. OnSysCommand() which normally receives system menu clicks is not called. However if the system menu is opened by the user as usual, everything works fine. What do I do wrong? How do I trap the menu item clicks?
Here’s the code from my test project, a standard dialog based application, TestDlg inherits from CDialog so this pointer is the dialog itself with the OnSysCommand() method.
void TestDlg::OnButton()
{
CMenu* pSysMenu = GetSystemMenu(FALSE);
pSysMenu->TrackPopupMenu(0, 100, 100, this);
}
/Thanks, Patric
/Patric
My C# blog: C# Coach
|
|
|
|
|
Try this instead:
void TestDlg::OnButton()
{
SendMessage( WM_SYSCHAR, VK_SPACE, 0x20000000 );
}
|
|
|
|
|
Thanks, it works.
/Patric
My C# blog: C# Coach
|
|
|
|
|
hey, im using visual studio 2003 and im coding this program in visual c++ .net. i compiled my program and made a release build, it runs on my pc, but it cant run on other peoples system, i cant figure out why, they are just getting the CLR error and i dont know how to fix it for them to run my program, any advice guys?
|
|
|
|
|
|
yes, they have 1.1 and 2.0 installed and still the CLR error comes up
|
|
|
|
|
okay, now its about the 'system.security.securityexecption' error, how do i allow other users to use my program as in give them permission?
|
|
|
|
|
Hi everybody. Long time no posting. Been busy working at the freeware Application and I'm almost done with the first beta : ). Also, I'm preparing an article for the Code Project. Anyway, I posted this message to see if any of you got any clue about the following problem:
Grabbing the DC of a window, copying it in a memory DC, drawing something (like a square for example) and then BitBlt-ing the result in the original window whenever you wish.
Take a look at this short code. It's supposed to grab a window DC and put it in a memory DC and return a handle to a DDB. It's from a book. My problem is that I want to do something similar, but I can't make it work. My experiments are kind of failed... so I won't post them. Here's the original code:
HBITMAP CaptureWindow(HWND hWnd)<br />
{<br />
RECT wnd;<br />
<br />
if ( ! GetWindowRect(hWnd, & wnd) )<br />
return NULL;<br />
<br />
HDC hDC = GetWindowDC(hWnd);<br />
<br />
HBITMAP hBmp = CreateCompatibleBitmap(hDC, wnd.right—wnd.left,<br />
wnd.bottom - wnd.top);<br />
<br />
if ( hBmp )<br />
{<br />
HDC hMemDC = CreateCompatibleDC(hDC);<br />
HGDIOBJ hOld = SelectObject(hMemDC, hBmp);<br />
<br />
BitBlt(hMemDC, 0, 0, wnd.right - wnd.left, wnd.bottom - wnd.top,<br />
hDC, 0, 0, SRCCOPY);<br />
<br />
SelectObject(hMemDC, hOld);<br />
DeleteObject(hMemDC);<br />
}<br />
ReleaseDC(hWnd, hDC);<br />
<br />
return hBmp;<br />
}
Now... could I somehow keep that Memory DC, draw something in it (say, a rectangle) and then bitblt it over the original window from which I created it? And perhaps after 2 seconds I want to do it again. Could I just bitblt it from my memory DC over the original window?
-= E C H Y S T T A S =-
The Greater Mind Balance
|
|
|
|
|
Axonn Echysttas wrote:
Now... could I somehow keep that Memory DC, draw something in it (say, a rectangle) and then bitblt it over the original window from which I created it? And perhaps after 2 seconds I want to do it again. Could I just bitblt it from my memory DC over the original window?
I'm not sure, but I think that even if you manage to do that (I guess you'd need to use IntersectClipRect before any drawing in the original DC), what you draw there would be deleted next time the window draws itself... Or is that exactly what you need?
What exactly are you trying to do?
--
jlr
http://jlamas.blogspot.com/[^]
|
|
|
|
|
Hi,
may u plz look at this error:
#include <complex>
using namespace std;
complex <double> i(0,1); // to get i=sqrt(-1) !!
complex <double> c3 = 1/i ;
The last line gives the following error:
error C2782: 'class std::complex<_Ty> __cdecl std::operator /(const _Ty &,const class std::complex<_Ty> &)' : template parameter '_Ty' is ambiguous
could be 'double'
or 'int'
error C2784: 'class std::complex<_Ty> __cdecl std::operator /(const class std::complex<_Ty> &,const _Ty &)' : could not deduce template argument for 'const class std::complex<_Ty> &' f
rom 'const int'
error C2784: 'class std::complex<_Ty> __cdecl std::operator /(const class std::complex<_Ty> &,const class std::complex<_Ty> &)' : could not deduce template argument for 'const class st
d::complex<_Ty> &' from 'const int'
error C2677: binary '/' : no global operator defined which takes type 'class std::complex<double>' (or there is no acceptable conversion)
Error executing cl.exe.
It also doesn't accept:
complex <double> c3 = 1 + i ;
Any help is highly appreciated!
Regards,
Eliyah
|
|
|
|
|