|
c'mon guys, please give me some hints at least... I really can't find any soulution.
|
|
|
|
|
Not sure if i'm reading this right, but are you sending LVM_SETIMAGELIST and LVM_SETITEMCOUNT *each* time you add an item? This might have something to do with the flicker.
Otherwise, you *can* double buffer listviews, fairly easily as it turns out. Do a search on CP and in the C++ forum, this has come up before.
BTW: how bad of flicker are we talking about here? Optic-nerve-jerking, screen-tearing, unreadable flicker, or a minor blip?
- Shog9 - Aaah... It's time to relax. You know what that means: a glass of beer, your favorite ergo chair... And of course, The Code Project loaded on your Personal Computer System. So go on, and indulge yourself, put your feet up. Lean back and just enjoy the articles. After all, CP sooths even the savage
|
|
|
|
|
yes, I send them each time... How (except LVS_OWNDERDATA, if even), could I handle adding new image every time. I guess I have to set the image list each time.... IMHO this could actually eat a large portion o f cpu time, but has nothing to do with flickering because it the redraw itself doesn't take that long. It should be rexdrawn only once AFTER the image list is assigned. But correct me if I'm wrong
|
|
|
|
|
CaesarCZ wrote:
IMHO this could actually eat a large portion o f cpu time, but has nothing to do with flickering
I don't know that it does, just stabbing in the dark looking for odd things in your code (because of course, mine does not flicker ). Potentially, it could be causing flicker simply because the view would then think all the images have changed and it needs to redraw them.
Anyway, you *don't* have to set the image list each time you add an image to it. The handle doesn't change when you add an image, so the list already knows where to look; you just need to tell it the index of the image for the new item. The only reason i could think of that you would need to re-set the image list, would be if you were modifying all the existing images in it, as you would then need to inform the listview that they had changed. But in your case, it is unnecessary.
So, give it a try & see if that doesn't reduce flicker.
- Shog9 - Aaah... It's time to relax. You know what that means: a glass of beer, your favorite ergo chair... And of course, The Code Project loaded on your Personal Computer System. So go on, and indulge yourself, put your feet up. Lean back and just enjoy the articles. After all, CP sooths even the savage
|
|
|
|
|
I've been trying to make a very basic Inet program that posts data to a webpage. However, I can't get anything to work. I'm not sure if it is the program or the network I'm on. I'm on a shared internet connection through a switch. Here is what I have so far (excluding windows and error handling code)...
//======================================
HINTERNET h_open, h_connect, h_http;
static char agent[] = "Test Agent";
static char server[] = "http://userpages.umbc.edu";
static char action[] = "POST";
static char file[] = "/~kdvors1/cgi-bin/test.cgi";
static char data[] = "var1=test";
static char version[]= HTTP_VERSION;
DWORD type = INTERNET_OPEN_TYPE_PRECONFIG;
DWORD service = INTERNET_SERVICE_HTTP;
DWORD port = INTERNET_DEFAULT_HTTP_PORT;
BOOL result;
h_open = InternetOpen(agent,type,NULL,NULL,0);
h_connect = InternetConnect(h_open,server,port,NULL,NULL,service,0,NULL);
h_http = HttpOpenRequest(h_connect,action,file,version,NULL,NULL,0,NULL);
result = HttpSendRequest(h_http,NULL,NULL,data,strlen(data));
if(result)
{
MessageBox(NULL, "works", "", MB_OK);
}
InternetCloseHandle(h_http);
InternetCloseHandle(h_connect);
InternetCloseHandle(h_open);
//======================================
I even tried copying the example that msdn gave for using GET. That didn't work either, so that led me to believe that it was my network. If anyone could tell me how to make this work for a shared connection or how to fix it if something is wrong I would be very greatful.
Thanks in advance
-Firecow
|
|
|
|
|
You could use URLDownloadFileToCache()
const char* url = "http://userpages.umbc.edu/~kdvors1/cgi-bin/test.cgi?var1=test";
char tmp[MAX_PATH*2] = {0};
HRESULT hr = URLDownloadToCacheFile(NULL, url, tmp, sizeof(tmp), 0, NULL);
Todd Smith
|
|
|
|
|
Thank you for responding but I need to "POST" the data.
|
|
|
|
|
if you connect internet through a local network, your code won't work. you must specifiy a proxy as 3rd arg of InternetOpen()
|
|
|
|
|
Currently I use the MFC for all my programs, but I don't like the large library and the solid framework that comes along with it. So I thought I wanted to get rid of it, and thus I looked at plain Win32.
But as almost all my programs are heavily dependant of their GUI, programming in Win32 will be unnecessary cumbersome and repetative.
So I figured I do want some (light) framework to work with...
WTL looks very promising, but as microsoft doesn't officially support it, and because there is no documentation on it whatsoever I don't think it's an alternative either.
ATL and COM are (as far as I know) mainly for developing controls and such. I don't get the idea it's any good for designing functional user interfaces.
So... what should I do? Learn WTL despite the lack of documentation? Start with win32 (Pretzolts book - thanks guys) and build everything from scratch? Or should I give ATL a try? Or maybe there are other alternatives?
I hope somebody can shed light on this!
Thanks a lot in advance
Best regards,
Griffith
|
|
|
|
|
Griffith Sutherns wrote:
Learn WTL despite the lack of documentation?
That's what I've done. The method names in the GUI classes and control wrappers are almost identical to MFC's, so you can use the MFC docs for those, along with the gool ol' F12 key if you need to look up a particular method.
--Mike--
Just released - RightClick-Encrypt v1.3 - Adds fast & easy file encryption to Explorer
My really out-of-date homepage
Sonork-100.19012 Acid_Helm
|
|
|
|
|
Heh, but you're pretty professional and I am but an amateur.
I do like the -feel- of WTL, but is there any background knowledge neccecary to learn it? COM? ATL maybe?
"WTL is code that was released unsupported and we have no intention of updating it. We have no intention of continuing its availability. Frankly, it should never have been released and it will be removed from the platform SDK at the time of the next SDK revision." Bill Dunlap, Microsoft's Visual Studio 7 Lead Product Manager
This also bothers me...
Futhermore, there are but a few WTL articles here on CP. Are you sure it's the way to go?
Everything you say will be misquoted, ripped out of context and used against you. - Wise words indeed.
|
|
|
|
|
Griffith Sutherns wrote:
"WTL is code that was released unsupported and we have no intention of updating it. We have no intention of continuing its availability. Frankly, it should never have been released and it will be removed from the platform SDK at the time of the next SDK revision." Bill Dunlap, Microsoft's Visual Studio 7 Lead Product Manager
This also bothers me...
And dont remember the story behind that quote, but it
cirkulated here a while ago.
Anyway, it was just crap and you shouldn't be concerned with it.
/
- Don't sweat the petty things, and don't pet the sweaty things.
|
|
|
|
|
Well, the fact that WTL got a major rev a few weeks ago puts Dunlap's statement down.
WTL is not built on COM. It is built on the ATL windowing classes, so you need to know how those work. Here's a quick lesson:
CWindow: wraps an HWND
CWindowImpl<>: implements message handling
There you go The message map macros and handlers are slightly different, but all that is documented. Check out my hotfix checker for a full-fledged app that uses WTL.
--Mike--
Just released - RightClick-Encrypt v1.3 - Adds fast & easy file encryption to Explorer
My really out-of-date homepage
Sonork-100.19012 Acid_Helm
|
|
|
|
|
It does sound very promising, I must admit.
Are there any good books which cover the WTL basics? And should I learn something about ATL first, or isn't that required?
I'll check out your hotfix checker, but it won't work on a 98 system...
Griffith
Everything you say will be misquoted, ripped out of context and used against you.
|
|
|
|
|
I would definitly not go with straight Win32.
MFC i dont like either, good as long as you stay
on the 'mainroad', but if you try something else
wierd things happens.
And it does not work to well with threads.
I suggest the WTL route.
Ok, it is not documented or supported, but
it builds on top of ATL and ATL is both documented
and supported.
There are documentation and samples for WTL on the
net, and you dont really need that much documentation
of WTL since it is a thin wrapper around Win32 windowing.
And what support do you need, you have the source.
I have switched from MFC to WTL, and with MFC there
was *always* wierd things going on behind the scenes,
with WLT everything works lika a clock.
/
- Don't sweat the petty things, and don't pet the sweaty things.
|
|
|
|
|
Yep, all the MFC majicks can be annoying. You mentioned there is documentation and samples for WTL on the net. Do you happen to have a few links outside of CP or CodeGuru?
Just wondering, I'm sure the more professional programs of MS aren't written with MFC. (IExplorer, Word, Powerpoint) Do those program use a framework?
Everything you say will be misquoted, ripped out of context and used against you.
|
|
|
|
|
Griffith Sutherns wrote:
Do you happen to have a few links outside of CP or CodeGuru
Here is a little tutorial
Part1
Part2
There is another nice one but i
cannot remeber what that place was called...annoying.
(I have all links on my work puter.)
/
- Don't sweat the petty things, and don't pet the sweaty things.
|
|
|
|
|
Those tutorials are great!
Thanks a lot, I'm sure these guides will give me a solid base to start with WTL.
Everything you say will be misquoted, ripped out of context and used against you.
|
|
|
|
|
I just found something you might find useful.
Complete Reference Atl 3.1
Also this might be intresting, it looks like it's pretty good.
Everything you say will be misquoted, ripped out of context and used against you.
|
|
|
|
|
The other one i got and use.
It is far from the MSDN help, but still better than
searching trought the headers.
The first link had a link to the other tutorials i
was trying to remember before though.
They are here clipcode
/
- Don't sweat the petty things, and don't pet the sweaty things.
|
|
|
|
|
Anyone have a routine for reading in the standardGPS data in the NIMA format? I want to be able to read in the GPS data on a pocket PC with an application written in VC++ (embedded 3.0). AN SDK with a few objects for parsing the data would be perfect but any help in reading the serial port as well would be better...
Thanks
|
|
|
|
|
I have two handlers for the two messages available for a menu item (command and command_ui..)
These are like:
void CFormViewMDIDoc::OnEnabledByadmin()
{
// TODO: Add your command handler code here
//AfxMessageBox"hello");
}
void CFormViewMDIDoc::OnUpdateEnabledbyadmin(CCmdUI* pCmdUI)
{
// TODO: Add your command update UI handler code here
pCmdUI->Enable(m_checked) ;
pCmdUI->SetCheck(m_checked);
}
I read that the menu item is initially disabled if theres no command handler for the menu. Even if I uncomment the messagebox in the command handler above, the menu item is still greyed out at startup. WHy is this?
Thank you,
ns
|
|
|
|
|
You might want to have a look at the value of m_checked.
Cheers,
Fredrik
<right>Sonork ID: 100.11430:PhatBoy
'It is so much simpler to bury reality than it is to dispose of dreams.'
- Don Delillo, Americana
|
|
|
|
|
Yikes! You were right! I'd set it to False in my constructor of the view class. I also see now that an uninitialized BOOL is TRUE by default. I wasnt sure what made UIUpdate function run automatically so I didnt connect things.
Thanks for clearing that up! So the constructor makes the UI handler run too...right?
|
|
|
|
|
No the constructor does not. MFC periodically calls the UI handlers for toolbar buttons and menu items when in the idle state, or when a menu is about to be shown.
Roger Allen
Sonork 100.10016
If I had a quote, it would be a very good one.
|
|
|
|
|