Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Single Post  Topic: Изменить размеры листера 
Author Message
VadiMGP



PostPosted: Mon Mar 09, 2009 03:27    Post subject: Reply with quote

Worros wrote:
Где прочитать, как это делается? Я не умею.
Да ничего читать не надо. Просто дробишь код. Вместо
Code:
MoveWindow(gp->DataForThread.ListerWin,20,20,gp->DataForThread.naturewidth,gp->DataForThread.natureheight,true);
пишешь
Code:
HWND hLWnd=gp->DataForThread.ListerWin;
int neww=gp->DataForThread.naturewidth;
int newh=gp->DataForThread.natureheight;
MoveWindow(hLWnd,20,20,neww,newh,true);
И смотришь кто тормозит. Если до вызова MoveWindow, то возможно есть проблема синхронизации доступа к общим переменным из двух разных потоков. Если тормозит сам вызов MoveWindow, то возможно возникает ситуация, когда каждый из двух потоков чего-то ждет.
Worros wrote:
И еще, я припоминаю рекомендацию не посылать из потока SendMessage рабочему окну,
Совершенно верно, не рекомендуется. И именно потому что легко может возникнуть клинч. Можно попробовать послать PostThreadMessage главному потоку и уже там делать MoveWindow.
Worros wrote:
IDE удобнее, чем у VC6 ,
Конечно удобнее, кто бы спорил. Но глючный. Я же спрашивал, почему ты не ставишь более качественный IDE - VS2008.
View user's profile Send private message


Powered by phpBB © 2001, 2005 phpBB Group