|
The CodeJock package contains a whole pleahora of useful tools, gadgets, widgets and sniffely-lifferies. Especially the Professional version is something to recommend: it should cater every need you have.
The downfall of this package is the lack of documentation. It is made with some sort of a half-automatic report creater, and thus most class members and/or functions are just labelled "This is member XXYYZZ of the class YYXXZZ" and nothing more. Such descriptions are not very helpful when trying to determine the necessary functions/members to get most out of the classes.
The Dundas package has a bit more well-done documentation, but doesn't offer as complex interface designs as the CodeJock one. Also, to enable certain features in the Dundas package, you'll have to consult the documentation. The CodeJock version is a bit more plug-n-play style, with the most advanced features left somewhat undocumented.
Both packages I've found pretty stable, and the source code coming with them is most useful in debugging and in creation of derived controls. If I'd need to choose only one, I would choose CodeJock, despite it's lacking documentation.
-Antti Keskinen
----------------------------------------------
The definition of impossible is strictly dependant
on what we think is possible.
|
|
|
|
|
Go Dundas
The word of the day is legs, let's go back to my house and spread the word
|
|
|
|
|
You need to fix that URL mate
--
Seraphim Shock. Gold for your ears.
|
|
|
|
|
Thanks
The word of the day is legs, let's go back to my house and spread the word
|
|
|
|
|
I want to create my own font set which windows should also recognize. Any idea where i should start from.
any help will be appreciated.
Jahangir Raza Shah
Pakistan.
VC, Directx Programmer. (Intermediate Level).
|
|
|
|
|
Perhaps this link will be useful:
http://www.fontmagic.com/typo/creating.html
Remember, Google is your friend
-Antti Keskinen
----------------------------------------------
The definition of impossible is strictly dependant
on what we think is possible.
|
|
|
|
|
hello,
I m using one PLOT Active x Control provided by www.iocomp.com since long time in many projects. i never faced any problem before regarding the display of contol.
now the problem i'm facing at client's place (on LAPTOP)is the graph is not getting displayed. instead just a blank white space is displayed. i tried all the options at my side like... on different OS,unregistering the ActiveX Control.... and on laptop also.... i could not reproduce the problem to find a solution.....
did any one ever used this PLOT ActiveX Control Given IOCOMP and faced any problem.
can any one plz help me out what cud be the problem??
Thanks in advance
adi
|
|
|
|
|
Hi All!
How to get a screenshot of desktop using DirectX?
With best regards, AlexMart
|
|
|
|
|
Have a look at the PushSourceDesktop directshow filter, which you can quickly test in graphedit. Even though the filter is built in directx it uses GDI to do the work of providing the images.
If you can keep you head when all about you
Are losing theirs and blaming it on you;
If you can dream - and not make dreams your master;
If you can think - and not make thoughts you aim;
Yours is the Earth and everything that's in it.
Rudyard Kipling
|
|
|
|
|
hy, how can i run code from a .MSI setup programm made with VS.NET ? i cant ad scripts or something like that, like i can do this with InstallShield!
is it possible at all??
thanx
|
|
|
|
|
Check out
http://www.codeproject.com/tips/msicustomaction.asp
Custom Actions are your friend...
|
|
|
|
|
|
hy, it didtn helped me a lot, because i need to run c++ code BEFORE i run the setup steps.
i didnt found out how to do this!
|
|
|
|
|
I currently have the job of cleaning up around 3700 warnings. Most i have sorted but this one i am having trouble make go away.
Your help would be most appreciated, thanks in advance.
Code:
hwndStartButton=CreateWindow "button",szLoadStringOne,WS_CHILDWINDOW|WS_VISIBLE|WS_EX_TOPMOST | BS_PUSHBUTTON , (rect.right)/2-100,(rect.bottom+380)/2-50,200,25,hwnd,ISVM_STARTISV,hInst,NULL);
Warnings:
VC++ 6
t_eng1.c(965) : warning C4047: 'function' : 'struct HMENU__ *' differs in levels of indirection from 'const int '
t_eng1.c(965) : warning C4024: 'CreateWindowExA' : different types for formal and actual parameter 10
Info:
ISVM_STARTISV #defined as 214
I have tried casting the 8th param (ISVM_STARTISV) to a HMENU, which supresses the warning, but then the WM_COMMAND does not get sent.
Also i am not using 'CreateWindowExA' and have not included any headers or libraries.
The MSDN documentation for CreateWindow for this parameter shows why i am passing in an int.
MSDN fragment:
hMenu
Handle to a menu, or specifies a child-window identifier depending on the window style. For an overlapped or pop-up window, hMenu identifies the menu to be used with the window; it can be NULL if the class menu is to be used. For a child window, hMenu specifies the child-window identifier, an integer value used by a dialog box control to notify its parent about events. The application determines the child-window identifier; it must be unique for all child windows with the same parent window.
end MSDN
This button gets created dynamically, when it's pressed a WM_COMMAND message needs to be sent, i then need to identify
which button has been pressed.
i have tried :
hwndStartButton=CreateWindow "button",szLoadStringOne,WS_CHILDWINDOW|WS_VISIBLE|WS_EX_TOPMOST | BS_PUSHBUTTON ,(rect.right)/2-100,(rect.bottom+380)/2-50,200,25,hwnd,(HMENU *)ISVM_STARTISV,hInst,NULL);
The compiler now says:
warning C4047: 'function' : 'struct HMENU__ *' differs in levels of indirection from 'struct HMENU__ ** '
-- thanks in advance
|
|
|
|
|
What the MSDN fragment states is correct: this parameter specifies a handle to a menu, or a child-window identifier if WS_CHILD flag is set.
Check your window style definition: you are giving it WS_CHILDWINDOW instead of WS_CHILD. I think the code is a bit picky on this one, eventhough WS_CHILDWINDOW were defined similarly as WS_CHILD. Use WS_CHILD instead.
To eliminate the warning, you can either one of the following calling conventions. The first one does a static conversion, and the latter a static cast:
hwndStartButton = CreateWindow( "button", szLoadStringOne, WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON, ... , hWnd, (HMENU) ISVM_STARTISV, hInst, NULL);<DIV>
hwndStartButton = CreateWindow( "button", szLoadStringOne, WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON, ... , hWnd, static_cast<HMENU>( ISVM_STARTISV ), hInst, NULL); I am not completely sure how the first call will behave, but the second one should not give any warnings related to this matter. I might've typoed in there, so be careful when copying it. Also, you tried in your last lines to convert it to HMENU*. But that is not what the function requires. It wants a handle to a loaded menu, not a pointer to it's location. Just pass the ISVM_STARTISV, converting it to type HMENU with either one of the routines stated above.
As you can also see, I have removed the WS_EX_TOPMOST style from the call, as you can only use extended style flags when you use the CreateWindowEx function.
The topmost style is not appliable to a button: it will always be drawn "before" (in front of) it's parent window in Z-order. Otherwise your button would always be shown, even if there was a dialog "between" the parent window and the button. That would look extremely ackward, don't you think ?
I hope this will be help to you. If it doesn't work, post results here for more analysis..
-Antti Keskinen
----------------------------------------------
The definition of impossible is strictly dependant
on what we think is possible.
|
|
|
|
|
The reason you get a warning about CreateWindowExA rather than CreateWindow is that CreateWindow is a #define for CreateWindowA (if UNICODE is not defined), and that CreateWindowA is a #define for CreateWindowExA, passing 0 for the first parameter. Documentation for this version is under CreateWindowEx.
This means that when the compiler complains about parameter 10, you need to fix parameter 9.
You do need to cast ISVM_STARTISV to HMENU. I don't know why your command stops working. Your code should then look like:
hwndStartButton = CreateWindow(
"button",
szLoadStringOne,
WS_CHILDWINDOW | WS_VISIBLE | WS_EX_TOPMOST | BS_PUSHBUTTON,
rect.right / 2 - 100,
(rect.bottom + 380) / 2 - 50,
200,
25,
hwnd,
(HMENU)ISVM_STARTISV,
hInst,
NULL
); (style guide: prefer a reinterpret_cast<hmenu> rather than a C-style cast if using C++).
I don't know why your button should stop working, though. Put a breakpoint in the parent window's WindowProc to see what value gets sent when you click the button.
The final problem is because HMENU is declared
typedef struct HMENU__ * HMENU; if STRICT is defined. If you see an error referring to Hxxx__ in Windows code, remove the two underscores and one * to interpret it properly.
|
|
|
|
|
Thanks Mike for the help. - debugging the Proc definitely helped
My problem lies with the fact i am using the WM_USER constant. Although the range i am using should work for passing messages inside the same Application, it is safer to use the WM_APP: 1024 - 1439 for Identifiers and the System doesn't seem to use this range.
cheers
Carl
|
|
|
|
|
How I can using Visual C++ to control my parallel port output and input.
|
|
|
|
|
Try this site for a reference: http://www.doc.ic.ac.uk/~ih/doc/par/doc/data.html
Also, you might want to attempt to "open the device", just like you'd open a file. Call _open and specify "LPT1" for the file name. You could open a COM port by specifying "COM1" instead. Then just read and write to the device by using _read and _write .
-Antti Keskinen
----------------------------------------------
The definition of impossible is strictly dependant
on what we think is possible.
|
|
|
|
|
Check out this example at MSDN.
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnfiles/html/msdn_serial.asp
Kuphryn
|
|
|
|
|
How can get the all Windows operating system code pages using VC program
kumara
|
|
|
|
|
use GetVersionEx() .
modified 12-Sep-18 21:01pm.
|
|
|
|
|
Use _getmbcp() , or GetCPInfoEx() .
A rich person is not the one who has the most, but the one that needs the least.
|
|
|
|
|
Hi
Thanks for the reply.
Actually I need to get all the code page names that the OS use
As example like below
This is some
CodePage Codepage name
1250 windows-1250
1251 windows-1251
1252 Windows-1252
1253 windows-1253
1254 windows-1254
1255 windows-1255
1256 windows-1256
1257 windows-1257
1258 windows-1258
I can use "GetCPInfoEx" but this is not giving the format that I mention in above.
If u have solution please tell me know.
Thanks
Kumara
|
|
|
|
|
Use EnumSystemCodePages() .
A rich person is not the one who has the most, but the one that needs the least.
|
|
|
|
|