|
That is most likely the task bar shifting the window about. The taskbar must always be visable and will move windows accordingly if they get in the way. Try setting the taskbar to 'AutoHide' then see if you have these same issues, I bet you won't. But I wonder if the taskbar should even be moving your window since you are manually forcing it be fullscreen, I would think the taskbar should only move windows that are maximized, not that set the window position and size directly.
|
|
|
|
|
Right, I don't think anyone should be moving the window
after I have set its position. It is not a maximized window,
merely a full screen window. That the problem does not occur
if I pass SWP_SHOWWINDOW in the call to SetWindowPos, makes
me suspect that this is not just unexpected behavior, but
a bug. (after all, it shouldn't matter a lick to the OS
whether the window has been painted already or not!)
|
|
|
|
|
I am opening a text file with fopen. I can read in text strings and assign them to a CString. I am trying to set the CString in a CStringArray for later use but the computer doesn't like it.
CString s;
FILE *pSkinfile = fopen ((LPCTSTR) lpFileName2, "rt");
if (!pSkinfile)
{
return false;
}
do
{
fgets (szLine, 256, pSkinfile);
for(zero = 0; zero < numSurf; zero++)
{
match = strncmp (szLine, stringArraySurfaces.GetAt(ij), n_lengthArray[ij]);
if(match == 0)
{
sscanf (szLine, "%s", S1);
->This line screws it up stringArrayPath.SetAt(ij,S1);
}
ij++;
}
ij = 0;
}while(feof(pSkinfile) == 0);
fclose (pSkinfile);
Is this because I'm reading in a stream and can't output to a variable?
|
|
|
|
|
You didn't say what the error was, so I may be way off base. Did you set the size of stringArrayPath using SetSize. The SetAt function will not grow the array, so you need to be sure you are writting to a valid location. You should either set the size of the array or use the SetAtGrow function or the Add function.
Gary Kirkham
A working Program is one that has only unobserved bugs
|
|
|
|
|
Or better yet, use
int nStrings = -1;
std::vector<CString*> pszStrings;
then for each new string:
{
nStrings++;
pszStrings->push_back(new CString);
pszStrings[nStrings]->Format("%s",YourStringToSet);
}
- Nitron
"Those that say a task is impossible shouldn't interrupt the ones who are doing it." - Chinese Proverb
|
|
|
|
|
AS has been said, you should use vector. I'd also use iostreams, then if you use std::string it's as easy as using getline to read in the strings, none of this stuffing around with C.
Christian
No offense, but I don't really want to encourage the creation of another VB developer. - Larry Antram 22 Oct 2002
C# will attract all comers, where VB is for IT Journalists and managers - Michael P Butler 05-12-2002
Again, you can screw up a C/C++ program just as easily as a VB program. OK, maybe not as easily, but it's certainly doable. - Jamie Nordmeyer - 15-Nov-2002
|
|
|
|
|
There is no reason not to use MFC. The problem lies with the stringArrayPath.SetAt(...); you have not preallocated the size of the array and should have used stringArrayPath.SetAtGrow().
First, though, drop the fopen and use the CStdioFile class.
For the loop, simply use:
<br />
CString str;<br />
<br />
while (file.GetString(str))<br />
{<br />
<br />
stringArrayPath.Add(str);
<br />
stringArrayPath.SetAtGrow(entry, str);<br />
}<br />
<br />
|
|
|
|
|
I'm getting an error error 1063 in StartServiceCtrlDispatcher.
Can someone tell me what this is?
Also, how do I get a description for error 1063?
Thanks,
Maloo
|
|
|
|
|
In Visual Studio 6.0:
Menu: Tools->Error Lookup
Enter the number then Lookup
1063 = "The service process could not connect to the service controller. "
Try a search on Google Groups: there are a few threads that reference this issue.
Debbie
|
|
|
|
|
Hi,
I derived a class from CTreeCtrl and added a handler for
OnLButtonUp. But clicking on an Item never gets it fired. After some debugging I found that it only gets called if you don't click on an Item, but within the client area or if you doubleclick an item. Couldn't find anything in the MSDN.
van Padoea.
|
|
|
|
|
are you transfering buttondown to base class?
t!
|
|
|
|
|
I do but that doesn't matter because it won't come there anyway!
void CSelectionTree::OnLButtonUp(UINT nFlags, CPoint point) <br />
{<br />
UINT uFlags = 0; <-- will not reach this!<br />
HTREEITEM hti = HitTest(point, &uFlags);<br />
<br />
if( uFlags & TVHT_ONITEMSTATEICON )<br />
{<br />
if(GetCheck(hti))<br />
SetItemImage(hti, 2, 2);<br />
else<br />
SetItemImage(hti, 0, 0);<br />
}<br />
<br />
CTreeCtrl::OnLButtonUp(nFlags, point);<br />
}
|
|
|
|
|
i know you speaking about
but i spoke about down message (or maybe any pretranslate, ...)
make minimal tree example and it must work
t!
|
|
|
|
|
Hi,
I'm having some problems reading a file containing null-terminations.
When I try reading the file into a string, it stops at the first binary null ('\0').
On unix we have an excellent command, the tr command.
It would solve the problem:
To delete all NULL characters from a file, enter:
tr -d '\0' < textfile > newfile
Is there a way of either translating the NULL's, removing them or even skipping them?
If anyone have suggestions, please respond.
|
|
|
|
|
You can use memcpy to reading the file into a string. You need to get the string's pointer first.
|
|
|
|
|
If you just need the whole files content, without any line-breaks etc, reading it in binary mode is the way to go.
Then you can copy it into a std::vector < char > , and use std:: algorithms on it.
--
"My opinions may have changed, but not the fact that I am right."
Found in the sig of Herbert Kaminski
|
|
|
|
|
I've got a wizard generated ActiveX Control (generated by the "MFC ActiveX Control Wizard", not "ATL COM AppWizard"). I've got an enum defined in my IDL which defines valid input for a property like this:
library MCOMBOLib<br />
{<br />
importlib(STDOLE_TLB);<br />
importlib(STDTYPE_TLB);<br />
typedef enum _ComboboxStyle <br />
{<br />
[helpstring("Dropdown")] cbsDropdown = 0x0002L,<br />
[helpstring("DropdownList")] cbsDropdownList = 0x0003L<br />
} ComboboxStyle;<br />
[ uuid(0ABDCD25-EF65-46C6-8F0D-F181400B4A74),<br />
helpstring("Dispatch interface for MCombo Control"), hidden ]<br />
dispinterface _DMCombo<br />
{<br />
properties:<br />
[id(1)] ComboboxStyle Style;<br />
}<br />
[ uuid(51771D17-EB86-4830-8DF6-D6F8183881C5),<br />
helpstring("MCombo Control"), control ]<br />
coclass MCombo<br />
{<br />
[default] dispinterface _DMCombo;<br />
}<br />
The problem is, that when I try to use the value in the constructor (to give the style property a value, it doesn't seem to find the enum at all) . Could anyone shed some light on this?
TIA!
|
|
|
|
|
Hello.
I'm writing an ActiveX control which was created by MFC ActiveX ControlWizard. I run the ActiveX control in Internet Explorer. I'm trying to obtain a pointer to the container to be able to change the html-page from the ActiveX control.
In the control class which is derived from COleControl I have to following code:
LPOLECLIENTSITE lpSite = GetClientSite();<br />
LPOLECONTAINER lpContainer; <br />
if(lpSite == NULL) AfxMessageBox("Click OK to crash..."); <br />
lpSite->GetContainer(&lpContainer);
The problem is that GetClientSite() returns NULL so the application crashes.
Any help is greatly appriciated. Thanks in advance.
/Charlie.
|
|
|
|
|
Hello
I have a question about the use of CHtmlView I have never used this before so I am a bit confused at the moment.
I am going to use this view to produce some statistics from a SQL Server database. The app that I've created used to display the result in a basic window but this got a bit boring to look at, so I thought that I could "Hot" things up a bit by using the html support. The option for what kind of statistics that is going to be produced should not be selected in the new View but from another window.
But my question is about the best way to use this view. should I make my app to create the *.htm document from scratch and the browse to it. Or is there a better way for this ?
Cheers
/Henrik
|
|
|
|
|
you can inject the data into a a CHtmlView in many ways - you can use the about: protocol or you could use the DOM - both of these are documented and are only really good for injecting HTML and images coming from a 3rd source eg the disk or maybe resources (ie res: protocol)
My favourite way is an Asynchronous Pluggable Protocol that I did for on old employer that I could use to deliver html and images on the fly to the viewer and I do not have to open any sockets to do so.
Technically speaking the dictionary would define Visual Basic users as programmers. But here again, a very generalized, liberal definition is being employed and it's wrong - just plain wrong - Tom Archer 5/12/02
|
|
|
|
|
Guys i installed VC++.NET for the first time and in order to experiment, i open the project i developed in VC++ 6.0. It compiled successfully in VC++ 7.0 but linker give me following errors:
MUM2 error LNK2005: "void * __cdecl operator new(unsigned int)" (??2@YAPAXI@Z) already defined in libcpmtd.lib(newop.obj)<br />
MUM2 error LNK2005: "void __cdecl operator delete(void *)" (??3@YAXPAX@Z) already defined in LIBCMTD.lib(dbgdel.obj)<br />
MUM2 error LNK2005: "void * __cdecl operator new[](unsigned int)" (??_U@YAPAXI@Z) already defined in libcpmtd.lib(newaop.obj)<br />
MUM2 error LNK2005: "void __cdecl operator delete[](void *)" (??_V@YAXPAX@Z) already defined in LIBCMTD.lib(delete2.obj)<br />
MUM2 fatal error LNK1169: one or more multiply defined symbols found
Anyone having idea how to remove this error ????
|
|
|
|
|
looks like you are linking to modules/libraries that are built with a different set of C runtimes than your main app.
check Properties / C/C++ / Code Generation / Runtime Library. make sure it's the same for all sub-projects.
also, make sure that if you're linking to any external libraries that you're linking to the correct debug/release version (the C runtimes are different for release / debug builds)
-c
There's one easy way to prove the effectiveness of 'letting the market decide' when it comes to environmental protection. It's spelt 'S-U-V'.
--Holgate, from Plastic
|
|
|
|
|
Hello !
I have an enormous request :
Could somebody write me a program which, when it is launched, would open MSExcel if it has not been already opened, or give it the focus and bring it on the top if it is already open ?
Some precisions : This is definitely _NOT_ a homework (I insist upon that ). A friend of mine asked me if i could write something like that, and i told him i'll try to find a solution. The fact is, i really don't have time to do it now, but i really want to help him. If you do not have time either (which i suppose), please tell me the more you can about it (Excel would have been opened with a shellexecute, then I would have done it using a temp file where i would have saved the Process ID number of excel (file would have been created the first time), and each time the program is called, it would pick up the Process id in the file and have the Excel app get the focus and get on the top of all windows.
Well, i know that if you know how it works, i think it will take 20min to have it run properly, however, I do not know. So pls help me , i'll be glad to help back if needed one day.
thanxx
~RaGE();
|
|
|
|
|
|
Thnak you, that's a good start. However, i still need a little bit help about remote control the app with the process number.
|
|
|
|