|
not static.
At first,I set it as a member of CYiCltDllApp.
Then set it as a independent function.
|
|
|
|
|
Then try and define it static. You will have to pass the this pointer as a parameter to get hold on your data.
~RaGE();
|
|
|
|
|
What is returned by AfxBeginThread ?
Does it help to set the priority to THREAD_PRIORITY_NORMAL ?
~RaGE();
|
|
|
|
|
the return of AfxBeginThread is not null.
|
|
|
|
|
If it is not null, then the thread was created (AfxBeginThread returns a CWinThread object).
~RaGE();
|
|
|
|
|
Thank you very much!
Set static function is ok.
|
|
|
|
|
I have a window which contains a menu, two large edit boxes filling the whole space underneath, and nothing else. No caption / title bar.
To allow dragging the window, the area to the right of the menu can be used instead of the caption area. All works fine, but I would like to draw something on this area to indicate that it is an area on which the user can click to drag the window.
So my question is, how do I draw in the menu area? Not on an actual menu item, but in the empty space to the right?
I tried this in OnPaint and no luck, I tried OnNcPaint. I thought I could just detect some flicker from my drawing when I resized the window, and the window border at the far right did have something drawn on it, but too low down, below the menu.
Is what I am trying to do possible without creating my own menu and menu handler?
Shraddhan
|
|
|
|
|
Is this a Dialog or a SDI/MDI child window ?
Maybe try in OnEraseBackground .
As for "too low down", do not forget to convert screen coordinate in client coordinate and reverse. (see ScreenToClient and ClientToScreen functions).
~RaGE();
|
|
|
|
|
Rage wrote: Is this a Dialog or a SDI/MDI child window ?
Actually it is a CWnd which is behaving like a CDialog. (It used to be a CDialog, and for some unpsecified "good reasons" I noted in my comments long ago, it was converted to a CWnd.)
As for the actual drawing coordinates, I used the following code in OnNcPaint:
CPaintDC dc(this); // device context for painting
dc.Rectangle(100, 1, 700, 3);
dc.Rectangle(100, 5, 700, 7);
dc.Rectangle(100, 10, 700, 12);
dc.Rectangle(100, 15, 700, 17);
RECT rect = {50, 0, 700, 20};
dc.DrawText("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", 45, &rect, 0);
CWnd::OnNcPaint();
Commenting out the final line gave me a transparent header, though the menus still showed. The window varies from about 300 to 550 pixels wide.
The string of XXXXXXXXXX seemed to be drawn and rapidly covered over.
I thought that OnEraseBackground only handled the client area? Anyway, I tried it out, still did not paint to the right of the menu area.
Shraddhan
|
|
|
|
|
|
It's not a matter of adding another menu item.
What I want to be able to do is to draw some hatch bars like you see in the bottom right of some windows. The whole or the area to the right of the last menu item is used for dragging the window, and I just want to identify this area in some way. Adding a menu item prevents the window being dragged with a click in this area.
Besides, my drawing code does not draw on top of the menus I've got. Plus, remember that the window's width can be changed by dragging its edges.
Shraddhan
|
|
|
|
|
Shraddhan wrote: It's not a matter of adding another menu item.
I am not asking you to add another menu item.
File ->>>(Add your text here in the menu bar)Click here to drag the window.
New
Open
Etc...
This is just a workaround.
Jesus Loves <marquee direction="up" height="40" scrolldelay="1" step="1" scrollamount="1" style="background:#aabbcc;border-bottom:thin solid 1px #6699cc">
--Owner Drawn
--Nothing special
--Defeat is temporary but surrender is permanent
--Never say quits
--Jesus is Lord
|
|
|
|
|
Owner drawn wrote: File ->>>(Add your text here in the menu bar)Click here to drag the window.
New
Open
Etc...
This is just a workaround.
Err, no...
If I understand you correctly, what I now end up with is my original window with an extra menu item on the right. When I click on it, I can certainly drag the window, except that if I make the window narrow enough, the new item drops down to a line below, and the dragging on the new menu item no longer works because it is in a different place (previously occupied by an edit control, and much further left than it used to be). I can still drag the window by clicking to the right of the menu.
What I want to do is to somehow mark the whole of the window area to the right of the menu. When I increase the window to the full width, the menu that says "Click here to drag the window" is now almost centered in the window horizontally, and the issue remains, that nothing marks the drag area on the right.
|
|
|
|
|
|
Owner drawn wrote: Which version of Visual studio are you using.
Visual Studio C++.NET 2001
|
|
|
|
|
How do you get share level permissions. Not ntfs level permissions.
I tried NetShareEnum but it returns ACCESS_NONE for all shares may be because i am running the program on an NT level machine
Kelvin Chikomo
|
|
|
|
|
I've tried to search in the forum, but can not find the answer I want. So, here is my question.
1. I create setup and deployment project by Visual Studio 2005. In default settings, there is no shortcuts created in the "User's Programs Menu", so, I added the shortcut from [Application Folder]. I build the project and got 1 setup.exe and 1 MSI file then. After using setup file to install this program, I deleted the setup file and MSI file. And error occurred at 2nd time I launch this application from "Start" menu. Error message is:
An installation package for the product xxxxx can not be found. Try the installation again using a valid copy of the installation package.
I found the problem is, the installation MSI file should not be removed after installation. Why?? That's not reasonable.
2. I can not find a way to build out only one setup.exe file which is a combinition of original setup.exe file and my MSI file. Is it possible to achieve this by Visual Studio 2005?
eric_liu@phonol.com
|
|
|
|
|
now i want write a Remote control software, some question:
1.how to fast and high-Performance send and receive screen picture?
2.how to send the file list and received use ListView restore the file tree.
|
|
|
|
|
Hello Experts,
i have a problem with my current project. I hope someone of you can give me some help or hints. Let me first describe the project and then the problem.
The program is a test generator for the embedded systems. The application is a framework that performs some housekeeping things like loading databases, etc. All extensions are made by means of plug-ins which are simply DLLs. Every plug-in can have a gui which is displayed in the framework. Basically the framework displays dialog resources stored in the DLLs.
Now here my problem: One of the plug-ins displays a grid where some cells contain dynamically created buttons. When the grid is loaded it creates for every cell that needs a button an instance of a class derived from CButton. My problem is that i get no events from these buttons. If i click on them they even do not change their apperance (they are not pressed in).
When i developed the button class i checked it in a simple dialog based application and everything worked well but in my current application it does not work .
Any ideas?
Thanks!
Patrick
|
|
|
|
|
Can you use spy++ to see if the grid gets any windows message, when you click on it, for instance ?
~RaGE();
|
|
|
|
|
Hello Rage,
thanks for your reply. I do not see any messages sent by the buttons. In the working program (dialog based) i see WM_COMMAND messages.
Regards
Patrick
|
|
|
|
|
Hi all,
I want to upgrade from VC6 to VS 2003 or 2005, but need to be able to keep my existing projects in VC6 until they are fully working in the new compiler. Are there any issues with installing both systems together or are they best kept well apart?
|
|
|
|
|
Hi,
I have all 3 installed on my system, without any problems
codito ergo sum
|
|
|
|
|
I am using VC6 and VS2001 together, no problems.
Except that, if you try to run your VC6 code on a later system, you will be told that it needs to be altered first. If you allow this to happen and open your old programs on you new IDE, I don't know of any way to go back.
So until you choose to move your code over, it is certainly best to keep the projects apart. I had a fairly large project on VC6 and decided to use VS2001 on it. This was fine for a long time, but a week ago I finally ran into some problem that I could not resolve, and decided that the time had come to properly update my project. So I made sure I had an extra backup, renamed the old folder, created a new project in VS2001, and transferred all the source files over.
This tooke a morning, what with having to change a lot of include paths due to VS2001 using s different layout from VC6 for its files. But it was certainly worth it in the end to move to a newer system. Cleared out a lot of junk files in the process.
But I still use VC6. For one thing, there is inforamtion in its help system that you will not find in VS2001 and, I assume, in all later versions. And from time to time I come across code written for VC6 which I would not want modified.
I would upgrade to VS2005 if I could find a supplier. Whether I would then still use VS2001, I don't know. Buying it was a bit of a mistake, being a new IDE at the time. More mature code tends to have bugs / deficiencies that are less glaring.
Shraddhan
|
|
|
|
|
Shraddhan wrote: I am using VC6 and VS2001 together, no problems.
Except that, if you try to run your VC6 code on a later system, you will be told that it needs to be altered first. If you allow this to happen and open your old programs on you new IDE, I don't know of any way to go back.
But you can - with a slight overhead of work, maintain the old as well as the new Project files and Solutions.
This way, your codebase can be used from both IDEs.
The work-overhead comes from activly *not* using new features of the VC7.1-compiler, keeping the VC6.0 comments for the class wizard intact, and from maintainig two sets of incompatible compiler output directories.
"We trained hard, but it seemed that every time we were beginning to form up into teams we would be reorganised. I was to learn later in life that we tend to meet any new situation by reorganising: and a wonderful method it can be for creating the illusion of progress, while producing confusion, inefficiency and demoralisation."
-- Caius Petronius, Roman Consul, 66 A.D.
|
|
|
|
|