|
To get the whole XP look in your programs ( the buttons, menus, toolbars, etc. ), you need something like the Xtreme Toolkit ( www.codejock.com ), which gives you those styles as well as wizartds to create GUIs such as Outlook and Visual Studio.
Christian
After all, there's nothing wrong with an elite as long as I'm allowed to be part of it!! - Mike Burston Oct 23, 2001
Sonork ID 100.10002:MeanManOzI live in Bob's HungOut now
|
|
|
|
|
Are you developing for Win XP or another operating system.
If you are using XP you can use this article:
http://www.codeproject.com/useritems/xptheme.asp
-Matt Newman
-Politically Correct Sensoring Service
-We make sure you don't f*** up in public
-Sonork ID: 100.11179:BestSnowman
|
|
|
|
|
Are you asking how to get your app to be themed when run on XP, or how to use XP-looking controls on other OSes? If the former, you need to insert a manifest into your resources so XP will draw your controls with themes. MSDN has info on doing this.
--Mike--
My really out-of-date homepage
"Not our fault we are intellectually superior to the rest of the office." -- Paul Watson in the Lounge, 12/12/2001
Sonork - 100.10414 AcidHelm
Big fan of Alyson Hannigan.
|
|
|
|
|
We are in trouble, can anyone help. We are trying to locate software
First Impression Visual Component V5.x or later
We have lost our CD, lost our serial number, need to support a project with the design time license which we cannot access.
We are willing to purchase this software from you if you have it.
Please check!!! thanks so much for reading.
|
|
|
|
|
I really doubt it. But is anyone aware of the existance of an object timeline control similar to Flash and Director ?
ThaNks !
|
|
|
|
|
template
< class T >
class CVTView : public CView
{
protected: // create from serialization only
CVTView();
DECLARE_DYNCREATE(CVTView)
//Blah blah blah
private:
std::list< T* > m_TPtrList;
};
This creates a ruckus with the
IMPLEMENT_DYNCREATE
and MESSAGE_MAP macros,
not to mention that ClassWizard runs amok. So
its back to the typing wizard, expanding all the
macros and typing in the entries into the message
map. (I havent got it working yet)
Is there a more elegant way to handle this?
Are future version of MFC going to be more
sophisticated to handle cases like this?
Satheesh
|
|
|
|
|
Hi, i need to read data from an ascii file ,
but from some reason there is a conflict in my programm with the lib files and i can't use the fscanf .
is there any other way to read from the file( in Ascii )???
* i am using an MFC application.
Thankyou
|
|
|
|
|
If you are using MFC, take a look at CStdioFile class. You can use its member ReadString to read a line of text into CString, and than you can parse the information you want from here.
I vote pro drink
|
|
|
|
|
meirav wrote:
from some reason there is a conflict in my programm with the lib files and i can't use the fscanf
This seems to be indicative of a larger problem. fscanf() is present in msvcrtl.dll and should be available for use. However, if you don't want to use it because you're not doing standard C file I/O, you could use MFC's file read functions and sscanf() to parse the data.
/ravi
"There is always one more bug..."
ravib@ravib.com
http://www.ravib.com
|
|
|
|
|
In MFC you have the CStdioFile or the CFile Classes...
Best Regrards....
Carlos Antollini.
Sonork ID 100.10529 cantollini
|
|
|
|
|
How can i create a modeless dialog that cant be closed. I am using it as a compulsary advertisment window and currently all my attemts at making it non-closable have failed.
I would apreciate any help u can give!
|
|
|
|
|
if its modeless and purely win32 without MFC (allthough u could do the same if its MFC) try putting something like this in the WM_CLOSE handler:
WinExec("myapp.exe");
in which myapp.exe is the current application. This way it'll just restart everytime it is shut down.
or if you really want the user not to be able to close it you could just disable their system keys, mwehe, but thats pretty gwiffy, i dont think they'd like that. U can use the following code for this:
PUINT fuiState;
SystemParametersInfo(97, TRUE, fuiState, 0);
that'll disable ctrl-alt-del and other system keys.
Kuniva
Want, take, have.
(oh btw, best way of learning some language is by looking at examples, start large!) :p
|
|
|
|
|
Write do-nothing handlers for WM_CLOSE and WM_SYSCOMMAND (SC_CLOSE).
A somewhat more annoying thing to do is to hide the dialog when the user tries to close it, create an n-second timer, then show the window (and kill the timer) when the timer fires.
/ravi
"There is always one more bug..."
ravib@ravib.com
http://www.ravib.com
|
|
|
|
|
if you use this method you can still close the dialog with the task manager, but if thats all you want then this is advisable yea, dont use my method it'll freak 'em out lol
Kuniva
Want, take, have.
(oh btw, best way of learning some language is by looking at examples, start large!) :p
|
|
|
|
|
the WM_CLOSE thingy didnt work. this is a modeless dialog as part of a larger app so the other technique of getting it to restart the app afterwards wont be suitable. is their a way of simply re-opening the dialog when it is closed. To start the dialog at the start of the app I am using the following in the CMainFrame::OnCreate function:
OnStartModeless()
this calls the function
void CMainFrame::OnStartModeless()
{
if(!g_pDlgModeless)
g_pDlgModeless = new CModeless(this);
}
Any ideas?
Fave Quote. Made this one myself feel free to use it in any argument u like where some idiot takes the piss outta your computer!
"No just cos i like my computer more than you doesnt make me pathetic. Quite Frankly i find a tic-tac a more interesting companion than u."
|
|
|
|
|
Maybe this is what you are looking for:
Assuming your dialog is myDlg:
Remove OnOK and OnCancel handlers from the dialog class.
Remove OK and Cancel buttons
Include in CMainFrame::OnCreate(), the lines (or variations of it):
myDlg.Create(IDD_MYDIALOG);
myDlg.SetWindowPos(&wndTopMost,0,0,0,0, SWP_NOMOVE | SWP_NOSIZE);
Include in CMainFrame::OnActivateApp(), the line
myDlg.ShowWindow(SW_SHOW);
You can show or hide the dialog by using SW_SHOW or SW_HIDE
as and when you need.
|
|
|
|
|
I can't seem to find any clear-cut example to enumerating the catalogs (databases) in my SQL server datasource using OLEDB. Does anyone have an example of this?
Paul Jahans
|
|
|
|
|
Use SQL DMO - There are various methods that allow you to do this
e.g. GetDatabaseByOrd
|
|
|
|
|
Thanks for your quick response. I'll try that.
Paul Jahans
|
|
|
|
|
i'm trying to load a .scr file thats in my resource file with LoadResource(). All i have is this:
HGLOBAL myhand;
HRSRC ResInfo = FindResource(GetModuleHandle(NULL),"IDR_SCREENSAVER1",RT_RCDATA);
myhand = LoadResource(GetModuleHandle(NULL),ResInfo);
if(myhand==NULL)
{
MessageBox("Load failed, exiting...","darn",MB_OK);
return;
}
But it always return NULL. Can anyone explain?
Thanks
Kuniva
|
|
|
|
|
Hi,
first of all, to be on the safe side, you should test the Handle returned by ResInfo
by inserting a line like
if(! ResInfo)
{
MessageBox("Could not find thingy in the resource, exiting...","Dear me",MB_EXCLAMATION);
return;
}
before calling LoadResource()
Then, you should also try using the MAKEINTRESOURCE() Macro to pass the Resource Id
i.e. your call to FindResource should now be:
HRSRC = FindResource(GetModuleHandle(NULL),MAKEINTRESOURCE(IDR_SCREENSAVER1),RT_RCDATA);
Let me know if this helps.
Cheers
Pierre Heler-Caruel
|
|
|
|
|
Well i tried both your suggestions. First i added the code to check if ResInfo was valid and then i tried using MAKEINTRESOURCE() but that didn't work. So i tossed that and i tried renaming my resource stringwise with the "" , that didn't work either. I tried all combinations. It can't seem to find the resource(allthough its there). I also tried going to the resource, clicking right>properties and unchecking the "external file" checkbox but that didn't help either.
Any suggestions?
Kuniva
|
|
|
|
|
Hi,
sorry to hear it didn't work.
Normally, you should name your Resource Ids as usual (i.e. no quotes) and use MAKEINTRESOURCE(ResourceId) as this is the usual way.
Having said that, there are two things you can try:
1) Ensure the Type of Resource for the file matches the type you use in FindResource(). My recommendation would be to define your own resource-type (for instance "SCREEN_SAVER") when you import the file in your project. Then use that name (note the quotes) as the Resource-type
2) Visual Studio has a funny way of not rebuilding correctly if you have changed the resource (this doesn't happen all the time though... I guess it's a "feature";)
So instead of just doing a compile (F7) do a clean then rebuild all of your project and try again.
BTW if you send me your .rc file and the associated file to import, I can give it a shot for you.
Let me know.
Cheers,
Pierre Heler-Caruel
|
|
|
|
|
First of all thanks a lot for your help, I kind of got the resource to load and stuff anyways i got a handle to it with the method Derek described (thanks). BUT so i have a handle, one of my following questions is: "what is LockResource() for exactly?"
my second and perhaps most important question is: "How do i get the data from the file and write it to a file on disk so i have an exact replica of it?? What kind of variable do i use? How do i even get the data with the handle? I mean.. I have a handle, so what? I dont know how to use a handle... *blush* lolz"
Kuniva
Want, take, have.
(oh btw, best way of learning some language is by looking at examples, start large!) :p
|
|
|
|
|
LockResource ... locks the resource, I think the names says it all ...
Seriously, once you've locked the resource, you can manipulate it.
With the handle, you could do things like this to write it to a file (let's assume hYourApp is a Handle to your Application):
first retrieve its size
DWORD dwDataSize = SizeofResource((HMODULE)hYourApplication,ResInfo)
if(dwDataSize == 0)
{
// Failed to retrieve the Size
MessageBox("Ooops","Dear me...",MB_ICONEXCLAMATION);
return;
}
Then, you can create a file and dump the content of the Resource into it
FILE * pfResourceData = NULL,
BYTE * pData = NULL;
pfResourceData = fopen("SomeFileName","wb+");
if(pfResourceData)
{
if(! fwrite(pData,dwDataSize,1,pfResourceData))
{
fclose(Result);
DeleteFile("SomeFileName");
MessageBox("Failed to write Data",
"Oh Dear!",
MB_ICONEXCLAMATION);
return;
}
else
{
// Wrote all the Data so close the File
fclose(pfResourceData);
}
}
There you have it. The Resource Data should now be stored in "SomeFileName"
HTH
Cheers,
Pierre
P.S. I've used the "C" way of writing files to keep as generic as possible but of course you're free to use the
MFC way with CFile or File-handles, etc...
|
|
|
|