|
I have created a dynamic splitter with:
CSplitterWnd clientSplitter;
..
clientSplitter.Create(this, 2, 2, CSize(200, 200), pContext, WS_CHILD | WS_VISIBLE | SPLS_DYNAMIC_SPLIT, AFX_IDW_PANE_FIRST);
How do I add a view to it? This code ..
clientSplitter.CreateView(0, 0, RUNTIME_CLASS(CLeftView), CSize(100, 100), pContext);
.. causes an ASSERT.
cheers,
Neil
|
|
|
|
|
And the assertion is....?
|
|
|
|
|
Sorry, assertion is in WINSPLIT.CPP:
if (GetDlgItem(IdFromRowCol(row, col)) != NULL)
{
TRACE2("Error: CreateView - pane already exists for row %d, col %d.\n",
row, col);
ASSERT(FALSE);
return FALSE;
}
cheers,
Neil
|
|
|
|
|
A dynamic splitter creates the first default pane (cell 0,0) so you can't create another view
there.
You may need to use DeleteView() on that pane first before adding your own pane.
I'd have to test this as I've only used static splitters.
Mark
|
|
|
|
|
I got around to testing it. This should work...
BOOL CMyFrameWnd::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext)
{
CCreateContext CreateContext;
CreateContext.m_pCurrentFrame = this;
CreateContext.m_pNewViewClass = RUNTIME_CLASS(CLeftView);
clientSplitter.Create(this, 2, 2, CSize(200, 200), &CreateContext,
WS_CHILD | WS_VISIBLE | SPLS_DYNAMIC_SPLIT, AFX_IDW_PANE_FIRST);
return TRUE;
}
|
|
|
|
|
Thanks. That works fine.
cheers,
Neil
|
|
|
|
|
Hi,
I am wondering if there is any way to produce a +5V clean TTL signal through COM/RS-232 serial port in C++. I just need to produce a clean +ve spike over the serial port.
thanks,
-Pavan.
|
|
|
|
|
You mean other than putting a power regulator/converter to translate +12 to +5? I have never tried to pull constant power from a COM port and I do not know how much current it can source.
A good project site can be found at: http://www.epanorama.net/links/project_interfacing.html[^].
Peace!
-=- James Please rate this message - let me know if I helped or not!<HR> If you think it costs a lot to do it right, just wait until you find out how much it costs to do it wrong! Avoid driving a vehicle taller than you and remember that Professional Driver on Closed Course does not mean your Dumb Ass on a Public Road! See DeleteFXPFiles
|
|
|
|
|
To be clear, I just need to produce a signal which will have a spike (think of it as a trigger) whenever I like. This is fed to another signal recorder which keeps looking at this signal for any trigger (spike) and records it.
-Pavan.
|
|
|
|
|
The RS-232 port has +12v or -12v logic levels. The parallel port has 5v logic levels.
|
|
|
|
|
Ok, how can I produce a signal of +12v spike using for example this[^] library??
-Pavan.
|
|
|
|
|
You can try the EscapeCommFunction() and set/clear the DTR or RTS line.
|
|
|
|
|
Have not tried it, but you should be able to open the commport with
Handle = CreateFile("Com1",....);
then set and clear the DTR line with
GetCommState(Handle, &Dcb);
Dcb.fDtrControl = DTR_CONTROL_DISABLE;
SetCommState(Handle, &Dcb);
Dcb.fDtrControl = DTR_CONTROL_ENABLE;
SetCommState(Handle, &Dcb);
You should be able to use simlar code to toggle the RTS bit
|
|
|
|
|
I have tried enabling and disabling DTR and also RTS bit, but couldnt see any spike signal on the Oscilloscope?? I have connected pin 4 and pin 5(ground) for DTR bit to the scope and 7,5 for RTS bit. I didn't see any change in the signal (stays flat at zero all the time).
-Pavan
|
|
|
|
|
Can you post some code for the things you have tried?
|
|
|
|
|
Ok, I am getting it. Just played around with the output pins using a LED. The signal goes from -11.6v to +11.6v. Inorder to get a TTL signal, it seems we need to use a voltage converter MAX-232(source:- codeguru forums). Do you know any other way to produce a TTL type signal (0-5v) other than using that converter? I am not sure we can produce without using that, but in case if have any idea lemme know.
Thanks for the info,
-P.
|
|
|
|
|
You can try an NPN transistor... try 10k going into the base, then put a Schottky (like a 1N5817) with the cathode directly on the base and anode connected to ground. Then connect a 4.7k from collector to 5v supplied by you. The RS232 ground would have to tie to your logic ground. The 5v signal should be present on the collector of the transistor.
|
|
|
|
|
I write controls and GUIs and PatBlt and PATINVERT has proved very fast and valuable when it comes to 'selecting' or hilighting something as the mouse buzzes by.
In many MS products - when a mouse buzzes by the toolbar for instance, the 'hot' or highlight approach does something like 'highlight the background of the icon in blue with a blue border' but generally leaves the icon alone.
I'm sure this could be implemented long hand using double buffering or simply repainting BG and then the ICON to the screen - but is there a tricky or clever way to do this - like using a MASK or something that would allow me to simply alter the background back and forth - and not need to redraw the icon (unless of course, the icon also changes to imply 'hot' or hover.
Another situation might be a customer list box of some sort ... when the user highlights an item, the BG of that item changes - but the TEXT and possible ICON do not. Again, I know this can be implemented by painting everything for that item ... and made flicker free by using double buffereing ... but I'd like to investigate a more 'clever' approach - like creating a transparency by anding and oring bits and masks in just the right order.
ICON Text A
ICON Text B
|---------------------|
| ICON Text C |
|---------------------|
ICON Text D
and that highlight could quickly follow the mouse.
The technique should be valid over anything ... just as PatBlt(...PATINVERT) works so well.
Unfortunately, PATINVERT inverts everything ... I need to avoid the INNERDS.
Maybe start by leaving certain COLORS alone? on a PATINVERT type operation ... ?
Would it be worthwhile to look into HRGNs?
Many thanks in advance.
-Luther
|
|
|
|
|
Hi !!!
I have two cpp file..like
Confwebd.cpp and arxmain.cpp..
I have cstring my text; in Confwebd.cpp now i want to use this string value in arxmain.cpp ..
Can any body know how can i make it ??
Thanks
Shah
|
|
|
|
|
|
Shah Satish wrote: I have cstring my text; in stdafx.cpp...
Why? Stdafx.cpp is not using the variable, so why not just put it in arxmain.cpp ?
"Approved Workmen Are Not Ashamed" - 2 Timothy 2:15
"Judge not by the eye but by the heart." - Native American Proverb
|
|
|
|
|
declare your variable into Confwebd.cpp as cstring my_text;
declare your variable into arxmain.cpp as extern cstring my_text;
Note: you must include Confwebd.cpp into arxmain.cpp so that compilar can locate the variable else you will get a linker error.
Knock out 't' from can't,
You can if you think you can
|
|
|
|
|
Yeh..I got my solution n i did same like your code..
Thanks
|
|
|
|
|
Knock out 't' from can't,
You can if you think you can
|
|
|
|
|
I have just downloaded and installed VS2005 C++ Express edition and Platform SDK. I can only find a Win32 Console template, can someone tell me where can I get a Win32 Application template??. The Microsoft website shows the full edition of 2005 includes an App template but the Express edition doesn't. I have previously only used VS6 which includes lots of templates.
|
|
|
|