|
Hello,
How can I permanently set the splitter size? For example: Instead of the Left / Right view I have a split from left to right so I have a top and a bottom. I want the bottom view to always stay the same height even when the window is being resized.
I'm a newbie with splitters and am unsure how I can keep my bottom view set to a permanent height. I assume I should handle MainFrame WM_SIZE and somehow set the splitter location..
Any ideas?
Thanks,
Rob
|
|
|
|
|
try this:
CRect rect;
GetClientRect(&rect);
int x = rect.Width()/2;
Then set the width of your pane = x
Regards
|
|
|
|
|
Sorry, this isn't a solution to your problem
|
|
|
|
|
CSplitterWnd has methods for getting and setting the dimensions of static splitters: GetRowInfo , SetRowInfo , GetColumnInfo , and SetColumnInfo . In your frame WM_SIZE handler you can compute the size of the splitter and call one or more of these methods to set it. After you have the splitter(s) set the way you want, you have to call RecalcLayout() to update the splitter layout.
Software Zen: delete this;
|
|
|
|
|
Can someone please tell me how I can read a DWORD value from the registry and display it as a decimal. I registry API function that I have looked at seem only to be able to read a string value. Help with this is most appreciated.
- SAK
|
|
|
|
|
There are countless registry articles on CP, but here is a function I use:
DWORD CGlobalUtility::GetRegDWORD(HKEY hKey, CString cstrSubKey, CString cstrVar)
{
DWORD dwRetVal = 0;
DWORD dwTemp, dwSize = sizeof(DWORD);
HKEY phkResult;
if (RegOpenKeyEx(hKey, cstrSubKey, 0, KEY_QUERY_VALUE, &phkResult) == ERROR_SUCCESS)
{
RegQueryValueEx(phkResult, cstrVar, NULL, &dwTemp, (LPBYTE)&dwRetVal, &dwSize);
RegCloseKey(phkResult);
}
return dwRetVal;
};
Jason Henderson start page ; articles
henderson is coming
henderson is an opponent's worst nightmare
* googlism *
|
|
|
|
|
oops. take out that CGlobalUtility stuff.
Jason Henderson start page ; articles
henderson is coming
henderson is an opponent's worst nightmare
* googlism *
|
|
|
|
|
For your case reading the value as a string is the best thing. Then all you need is to convert it to a double using atof or _tcstod (for UNICODE).
Regards,
Alvaro
Well done is better than well said. -- Benjamin Franklin
(I actually prefer medium-well.)
|
|
|
|
|
What I want to do would seem simple but I cannot seem to find the answer to this anywhere. I want to save 2 integer variables and a string to a file from a dialog based application. I can find how to do the string but the integer, or other numeric variables is elusive. serialization is not what I need, what I want is every time int1, int2 and strComment are entered into edit boxes the user clicks a button and the info is saved. This is easily accomplished in vb, but I cannot seem to do it in Visual c++. I am using Visual studio 6.0
Michael Deming
mdeming@hotmail.com
|
|
|
|
|
Why not read the values of the edit boxes and then use standard ofstream .
Best regards,
Alexandru Savescu
P.S. Interested in art? Visit this!
|
|
|
|
|
Hey Mike,
Alexandru is correct as using a ofstream object would be rather simple if that is all you need to do, something such as this should work:
ofstream outputfile;
outputfile.open("myFile.dat", ios::out);
if(outputfile.is_open())
{
outputfile << m_int1;
outputfile << m_int2;
outputfile << time;
outputfile.close();
}
Hope this helps..
Nick Parker
May your glass be ever full.
May the roof over your head be always strong.
And may you be in heaven half an hour before the devil knows you’re dead. - Irish Blessing
|
|
|
|
|
Some endl s are called for here if you want to read the info later.
Joaquín M López Muñoz
Telefónica, Investigación y Desarrollo
|
|
|
|
|
You could just use Get/SetPrivateProfileInt() and Get/SetPrivateProfileString() to save the data to an .ini file.
/ravi
Let's put "civil" back in "civilization"
http://www.ravib.com
ravib@ravib.com
|
|
|
|
|
Thanks Nick, Alexandru and Ravi
I used the fstream and it does exactly what I needed. I guess the biggest hangup was I was not aware that fstream would work under windows. None of the books I have were clear on the subject. I am curious as to how I could accomplish the same task using Get/SetPrivateProfileInt() and Get/SetPrivateProfileString() for the same task. Also Is there one for GetSetPrivateProfileDouble()?
Mike Deming
|
|
|
|
|
MikeDeming wrote:
Also Is there one for GetSetPrivateProfileDouble()?
No. Just convert it to a CString using Format() and read/write it out as a string.
/ravi
Let's put "civil" back in "civilization"
http://www.ravib.com
ravib@ravib.com
|
|
|
|
|
My application uses a DLL that causes some trouble:
I can call LoadLibrary successfully (the returned HMODULE is not NULL).
Trying to call FreeLibrary immediatly hangs my application...
Any ideas? I also mention that the dll I am trying to load/free uses some thread variables (__declspec (thread)). Could this be the problem?
Thanks!
Best regards,
Alexandru Savescu
P.S. Interested in art? Visit this!
|
|
|
|
|
Alexandru Savescu wrote:
I also mention that the dll I am trying to load/free uses some thread variables (__declspec (thread)). Could this be the problem?
Yes. I did a quick browse of __declspec(thread) on MSDN and it mentions that it may cause problems with "delay loading of DLL imports".
Regards,
Alvaro
Well done is better than well said. -- Benjamin Franklin
(I actually prefer medium-well.)
|
|
|
|
|
Thanks, but this is not the problem...
I removed the __declspec (thread) specifier from the DLL and it still hangs...
Best regards,
Alexandru Savescu
P.S. Interested in art? Visit this!
|
|
|
|
|
That's pretty strange.
How about just not calling FreeLibrary on it? Just let it be freed when your app is closed.
Sorry I can't be of more help.
Regards,
Alvaro
Well done is better than well said. -- Benjamin Franklin
(I actually prefer medium-well.)
|
|
|
|
|
Hi!
I have written:
void JEdit::OnKeyUp(UINT ch, UINT count, UINT flags)
{
switch ( ch ) {
case VK_BACK_SPACE:
{
....
}
....
}
I wanted to detected backspace key, but the compiler says: "'VK_BACK_SPACE' : undeclared identifier" . What should I do?
Thanks,
Sovann.
Why waste time learning while ignorence is instantaneous ? [Hobbes]
|
|
|
|
|
Use VK_BACK instead.
Regards,
Alvaro
Well done is better than well said. -- Benjamin Franklin
(I actually prefer medium-well.)
|
|
|
|
|
What should I do?
Don't use it if it isn't defined. Use VK_BACK it is defined. Or just define it as 8.
Thanks for the help,
Bill
|
|
|
|
|
I have written a DLL which contains a function that I have exported with the NONAME directive.
I have been trying to access this function within VC++6.0 but have had no luck.
I accept that this will not hide the exported function from anyone so this is more of a personal exercise. I was hoping to use this function for error and other internal checks.
If anyone can help. . . . .
If they tell you that I can program, don't believe 'em!
|
|
|
|
|
You will need to use ::GetProcAddress to get the address of your function. You provide the module handle of your dll after you loaded it, and the ordinal number that you gave your function.
Build a man a fire, and he will be warm for a day Light a man on fire, and he will be warm for the rest of his life!
|
|
|
|
|
Hello Everybody:
I'm having a problem whenever my application is executed without administrator privileges in Win2000. An ASSERT error comes out. Something that I noticed is when I click ignore, a blank AfxMessageBox comes out with just the OK button. When you clicked OK, the application continues. I look at the code, and the error happens in InitInstance() of the application. The error is exactly in this line:
m_server.UpdateRegistry(OAT_DISPATCH_OBJECT);
Have any of you experienced this problem before? If so, is there any solution to solve this?
Any answer is more than welcome.
Thanks,
Luis E.
Luis E. Cuadrado
)
|
|
|
|