|
You might want to try these (somewhat dated) packages:Check out other links here[^]. Good luck!
/ravi
My new year's resolution: 2048 x 1536
Home | Articles | Freeware | Music
ravib@ravib.com
|
|
|
|
|
Hi all,
In a dialog, is it possible to align a control with layout guidelines such that if the dialog is resized, the conrol is also resized accordingly?
Mark
|
|
|
|
|
|
Hi there,
I am writing an application where I want to open a file... but not via CWinapp:OnOpenFile() , I do my own DoPromptFileName() .
My problem now (maybe very simple): How do I tell the OpenFileDialog, IN WHICH DIRECTORY it should start?
Example:
I got two different file-types to handle, one "*.abc" and the other "*.def". I also got two buttons, A = "Open ABC-file" and B = "Open DEF-file".
Now I have two default folders, maybe "C:\files\abc\" and "E:\Files\def\" where the files lay.
Now how do I tell the OpenFileDlg to initially browse in the "C:\files\abc\"-folder when pressing Button A, but browsing folder "E:\Files\def" when pressing button B?
I hope everyone understood my problem and anyone out there can help me...
Thanks in advance!
Tiberius
----------------------------------------------------------
I once had a nightmare in binary --- I think there was a 2
|
|
|
|
|
SetCurrentDirectory
The word of the day is legs, let's go back to my house and spread the word
|
|
|
|
|
thanks for your help, but that wasn't it...
my situation:
I handle videofiles and they are in C:\video\. I opened one from there some time befor and now I want to open another video from a location I want to set beforehand. so I tried this (just for testing):
<br />
CString newName = "";<br />
if(SetCurrentDirectory("D:\\"))<br />
AfxMessageBox("yep");<br />
else<br />
AfxMessageBox("nope");<br />
<br />
DoPromptFileNames(newName, AFX_IDS_OPENFILE,OFN_HIDEREADONLY | OFN_FILEMUSTEXIST , TRUE, NULL, "MPG-Video", "mpg");<br />
The message I got was (surprise, surprise) "yep", so I thought, OpenFileDialog would browse "D:\" but - pow! - it went straight to "C:\videos\"...
any other idea ?
Thanx!
Tiberius
----------------------------------------------------------
I once had a nightmare in binary --- I think there was a 2
|
|
|
|
|
Unfortunately, setting the current directory won't work because Windows stores default dirs for the file open dialog in the registry (on a per extension basis).
You can make the standard Open/Save File dialogs use a custom initial directory by setting the lpstrInitialDir member of the dialog's OPENFILENAME struct. See this MSDN link[^] for details.
/ravi
My new year's resolution: 2048 x 1536
Home | Articles | Freeware | Music
ravib@ravib.com
|
|
|
|
|
Thanks !!!
----------------------------------------------------------
I once had a nightmare in binary --- I think there was a 2
|
|
|
|
|
Does anyone know of an API that will return the localized descriptive name of a language, given its language id? Eg: ZH_CN = "Simplified Chinese", ZH_TW = "Traditional Chinese", etc.
Or is this information stashed somewhere in the registry?
Thanks,
/ravi
My new year's resolution: 2048 x 1536
Home | Articles | Freeware | Music
ravib@ravib.com
|
|
|
|
|
I think GetLocaleInfo() is what you are after, but am not sure where ZH_CN and ZH_TW come from. From where are you obtaining these values?
"The pointy end goes in the other man." - Antonio Banderas (Zorro, 1998)
|
|
|
|
|
Thanks, David! GetLocaleInfo() is exactly what I need!
ZH_CN and ZH_TW are variants (simplified and traditional) of the Chinese language. The MAKELANGID[^] macro allows you to specify primary and secondary (i.e. the variant) keys in order to create the locale passed to GetLocaleInfo() . Thanks again!
/ravi
My new year's resolution: 2048 x 1536
Home | Articles | Freeware | Music
ravib@ravib.com
|
|
|
|
|
Top of the mornin' to ya!
Right then - using Visio OCX in a dlg app. Need to take soeme CAD drawings (dwg format), convert them to visio fmt and add to a custom stencil sheet.
Am using the following process(PSEUDOCODE obviously!)
<br />
GetAddon("Convert CAD Drawings...")<br />
Run<br />
<br />
Select all on page<br />
<br />
Drop to Stencil<br />
Only prob is that when I run the function a second time, the add-on converts a different dwg (since time take for converison varies wildly), but the object that appears in the stencil is the same as the one converted the first time.
Have tried to do a selection.delete, but on the second pass, visio reports that "the requested operation is currently disabled"...
Can supply full source if anyone can help - but can someone PLEASE stop me banging my head aginst this one!!!
"Now I guess I'll sit back and watch people misinterpret what I just said......"
Christian Graus At The Soapbox
|
|
|
|
|
Where are/were you doing the selection delete?
I'd do it after the drop, or before the first select.
Is any of this done asynchronously? That would leave the selection object locked during the 'drop', for example. I don't have Visio on any of my machines right now, and at the risk of seeming unhelpful, I'm not about to install it to try this at home Hey, I have a life somewhere, I'm sure...
At the risk of sounding fatuous, have you tried this in VB code? It might be, for instance, that you have a lingering interface that you don't need, or something similar that VB manages. If it works there, your problem is your code, not the way it works (but you've heard me say that before...)
Steve S
|
|
|
|
|
Ah - the man himself!! Hope all is good sir!
Have managed to get it sorted now, but thanks for the advice anyway...
The history is that originally it was a VB app, but if it was run more than once under the debugger, it was crashing and taking the IDE down with it - and by run, I mean F5, do some stuff, stop the app, F5 again, try to do some stuff and BANG....
Tried various things up to and including service packs for VB, but to no avail, and since urgent, was forced to do a re-write....
In terms of what was going on with the selection, since I did a straight port from someone else's code, stuck with their algorithm..part of it was to save the imported document to temp.vsd. Unfortunately, the second time round the loop, it was not overwriting the file, so when setting the src for the control, it was using the (unchanged) same file. Got around it by using lots and lots of different files (you know me Steve - why use one file when can use dozens!)
"Now I guess I'll sit back and watch people misinterpret what I just said......"
Christian Graus At The Soapbox
|
|
|
|
|
That's why the C runtime includes the capability to create a uniquely named file (see mktemp). You did, I assume, have error-checking when opening the file the second (and subsequent) time, to be sure you really could write to it? (rhetorical).
Main thing is that it's sorted, and you know why. Nothing worse than a problem that wriggles away, leaving you with a nagging 'what if it comes back?' feeling...
Steve S
|
|
|
|
|
I am having trouble doing this program.
write a simple menu-driven program to allow a user to request a record by KEY. You should search (read) the file for the record, and display it if it exists in your file. A user can delete a record. If it exists, you need to add its vacated block location to the free list. A user can add a new record. if it does not exist, you will take a free block from the free list, and place the record there. Be sure to update all "next record" and "previous record" pointers on all add and delete operations. A user can update a record. if the record existsall you need to do is to allow the user to enter a new field value, then write the record back to the file. Finally, you should allow the user to display the file to screen as well as write it to a text file (not a binary file).
THe record can be a couple of fixed-length strings and an ID field, say an integer. To maintain both record blocks and empty blocks, each physcal record will have a pointer (really a file offset) to the next physical block and the previous one. In a sense this will be similar to a linked list - but it will exist in a file, not in memory.
Make data set large, at least 10,000 records. Gather data randomly or get a large data file from the internet. The exact data is up to you, but you should have int class an integer key value, plus at least two other fields. At least one of them should be a string (use a C-style string which is fixed length, to allow for easy random access binary file movement with seekg() or seekp().
|
|
|
|
|
juntupally wrote:
I am having trouble doing this program.
Ok, so exactly what part is troubling you?
"The pointy end goes in the other man." - Antonio Banderas (Zorro, 1998)
|
|
|
|
|
I am having trouble with th eentire program, it would be great if u can run me thru the whole program. firstly I need to generate a free list using seek(). I think it would be easy if u can explaing me how to do the entire program.
|
|
|
|
|
Sounds like someone wants someone else to do their homework for them.
I don't get it why not try to do it and if you have questions then post the code in which you do have. Just my two cents worth.
Win32newb
"Making windows programs worse than they already are"
|
|
|
|
|
The subject of your post includes the words "help me." Unless I'm missing something, that implies that you would be actively participating. But from reading the body of your post, it seems that you just want to assume a passive role.
juntupally wrote:
I am having trouble with th eentire program...
When you have trouble with the concept of an entire program, you need to visit your instructor. Something is not clicking during your classroom time. When you have trouble with a specific subject (e.g., linked list, short-circuit conditions, loops, callback functions), then you should seek help outside the classroom.
juntupally wrote:
...it would be great if u can run me thru the whole program.
I trust this was talked about in the classroom.
juntupally wrote:
firstly I need to generate a free list using seek().
Are you sure that seek() can be used to accomplish that? The only seek() I could find documentation for was in the context of multimedia.
juntupally wrote:
I think it would be easy if u can explaing me how to do the entire program.
I'm sure it would!
"The pointy end goes in the other man." - Antonio Banderas (Zorro, 1998)
|
|
|
|
|
|
Hi,
I'm very new to ATL and need your help. I am trying to create a com dll using ATL which should contain a tabbed control and each tab page should be able to contain many other controls (or a composite control). Please let me know how I can create a control like that. Also how do I interact with individual controls in each pages (how to initialize, modify, store etc).
Please give me some pointers or, a link to page which explains it in detail.
Thanks in advance
|
|
|
|
|
As the topic suggest, I was wondering how you could go about converting a CString to a CInt?
I'm basically making a basic calculator which when a button with 5 on it is pressed will do something along the lines of
<br />
outcome += "5";<br />
and so on until the user presses the equals button.
How could I make it convert the string outcome which is storing all the operations and numbers, convert into a CInt?
Thanks
|
|
|
|
|
Considering that there is no such class as CInt, it's nigh well impossible.
Anyone who thinks he has a better idea of what's good for people than people do is a swine.
- P.J. O'Rourke
|
|
|
|
|
Pardon me, but what is a CInt ?
At least my MFC/MSDN/ATL reference does not know any such thing. Did you mean a normal integer ?
You should draw a quick schema of how a basic calculator works. Sketch an outline of the possible states your calculator can have, and all the possible ways to move from one state to another. For example, there is a 'neutral' state, from which you can press a button to move into 'entering a number' state. Take all possible ways into account, how a person could use a calculator, what buttons he/she might press. If you have a real calculator at hand, you can easily determine the possible routes.
But, this is all about designing your software. For the actual conversion, which you asked, you need to use the LPCTSTR -operator implemented in CString class. This gives you a pointer to a constant character buffer that efficiently represents the C-language version of the string. Then, depending if you have Unicode enabled, you can use the wide- or normal-versions of _atoi and _itoa routines that can convert a string representation of a number, e.g. "42341", into a number 42341, and vice versa.
As for the calculator itself, you need several CString objects and a few integers. The first one is bound to the actual text output (an edit box), and displays a formatted string looking like a calculator's output.
Then, the user interface of your calculator has buttons. Each of these buttons has a click handler. Basically, you need to implement each click handler (or a range handler) so, that it determines what button was pressed, and adds a raw number into a background number buffer accordingly.
-Antti Keskinen
----------------------------------------------
The definition of impossible is strictly dependant
on what we think is possible.
|
|
|
|
|