Archive for 2 月, 2008
链接:上海城市交通便民查询(线路)
星期五, 29 2 月, 2008CListCtrl在LVS_ICON和LVS_SMALLICON模式下的显示问题
星期三, 27 2 月, 2008我在使用CListCtrl控件时只使用LVS_ICON和LVS_SMALLICON两种模式,现在有个需求就是想动态的在数据中插入新记录,比如InsertItem(0,xxx)插一条记录到最前面。调用是成功的,但新插入的记录只在显示在最后,此时如果切换成LVS_REPORT模式时,新插入的记录显示在最前。后面这种情况算是正确的,那不使用这种模式时如何解决乱序的问题呢?
实例:
CListCtrl m_lvw;
m_lvw.ModifyStyle(LVS_ALIGNMASK, LVS_AUTOARRANGE);
m_lvw.InsertColumn(0, "Header", LVCFMT_CENTER, 100);
void CTestLvwDlg::OnBnClickedInsert()
{
static int index = 1;
CString strIndex;
strIndex.Format("%d", index++);
m_lvw.InsertItem(0, strIndex);
}
void CTestLvwDlg::OnBnClickedSmallIcon()
{
m_lvw.ModifyStyle(LVS_TYPEMASK, LVS_SMALLICON, 0);
}
void CTestLvwDlg::OnBnClickedLargeIcon()
{
m_lvw.ModifyStyle(LVS_TYPEMASK, LVS_ICON, 0);
}
void CTestLvwDlg::OnBnClickedReport()
{
m_lvw.ModifyStyle(LVS_TYPEMASK, LVS_REPORT, 0);
}
不断的调用OnBnClickedInsert()插入新记录时,LVS_REPORT显示正确而另外两种模式显示的是乱的。
经过多方查找和实验,总算把问题解决了:
每次增加一条记录时将ItemData设置成index的值,然后调用一下SortItems排序。
// Sort items by associated lParam
static int CALLBACK MyCompareProc(LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort)
{
return (int)(lParam2 - lParam1);
}
void CTestLvwDlg::OnBnClickedInsert()
{
static int index = 1;
CString strIndex;
strIndex.Format("%d", index);
m_lvw.InsertItem(0, strIndex);
m_lvw.SetItemData(0, index);
m_lvw.SortItems(MyCompareProc, 0);
index++;
}
void CTestLvwDlg::OnBnClickedSmallIcon()
{
m_lvw.ModifyStyle(LVS_TYPEMASK, LVS_SMALLICON, 0);
m_lvw.SortItems(MyCompareProc, 0);
}
void CTestLvwDlg::OnBnClickedLargeIcon()
{
m_lvw.ModifyStyle(LVS_TYPEMASK, LVS_ICON, 0);
m_lvw.SortItems(MyCompareProc, 0);
}
void CTestLvwDlg::OnBnClickedReport()
{
m_lvw.ModifyStyle(LVS_TYPEMASK, LVS_REPORT, 0);
m_lvw.SortItems(MyCompareProc, 0);
}
void CTestLvwDlg::OnBnClickedSort()
{
m_lvw.SortItems(MyCompareProc, 0);
}
发贴的链接:http://topic.csdn.net/u/20080227/17/636bade4-76b6-4d7a-a0af-9308a143fbb4.html
得到提示的链接:http://www.codeguru.com/forum/archive/index.php/t-139506.html
收到从当当买的育儿书,开始育儿历程
星期二, 26 2 月, 20082月21日在当当网买了几本关于育儿方面的书,大多是一个月之前就找好的,放到当当的暂存架,下面是清单:
开始快乐并艰辛的育儿历程,但愿粥粥都健康快乐的成长,长大以后能够理解父母的用心。
最新流行语:做人不能太“春晚”
星期五, 22 2 月, 2008央视的"春晚",已经雄霸中国人的大年夜20余年,至今没有丝毫闪人的迹像。这么一个人人仰慕的角色,近些年来,却年年被人诟病,倘若"春晚"是个人,怕是早被唾沫星子淹死了。幸而"春晚"毕竟不是人。那么,俺且多余地奉劝各位,如果估计自己没有CCTV那两把刷子的话,做人就千万不能太"春晚"。
做人不能太"春晚"--死保垄断地位,绝不利益均沾。有啥好事儿全独个搂在怀中,不容别人分一杯羹。仗着自己天赐的老大地位,在大年夜还年年耍横,谁想也弄个"春晚"玩玩,吃不了也得让你兜着走,嘿嘿,让谁都敢怒不敢言。
做人不能太"春晚"--任凭千夫所指,仍然自我陶醉。就算报上网上漫天批判,偏弄个96%的收视率、84%的满意率的自我调查沾沾自喜。
做人不能太"春晚"--怠惰成了习惯,永远原地踏步。因为是强迫消费的精神年夜饭,不愁销路,千篇一律的欢歌艳舞、庸脂俗粉,一成不变的演员和程式,您爱看不看,爱吃不吃,就算搁馊了,明年还会照样端上来,你能把我怎么着?
做人不能太"春晚"--一面义正词严,一面大把搂钱。春晚的面孔一年比一年正经,类似"宇宙牌香烟"一类批判现实的深刻作品消失了,满台的歌舞升平和歌功颂德,仿佛正义在手真理在胸。可是借垄断地位捞起钱来,却绝不含糊。
做人不能太"春晚"--尽管徐娘半老,坚决不遑他让。不是没人有能力挑战"春晚",如近年来新招迭出、创下众多收视率纪录的湖南卫视,却在或明或暗的沉重压力下,始终不敢染指这碗流金淌银的"年夜饭"。
做人不能太"春晚"--谁敢对我不敬,出手一招封喉。哪个演员明星万一有意或无意得罪了"春晚"的东家,动辄便以禁上"春晚"相要挟。"春晚"能捧红若干明星,自信也能封杀他们。李宇春再火,那是别人的"超女",休想越雷池一步;郭德纲再牛,竟敢向央视挑战,"杀"无赦。
做人不能太春晚......罢了,懒得再一一列举了,倘若是个人,若是上头那六条占全了,估计绝对没人答理。但是,"春晚"不是人,因此,别人各领风骚三五天,独独"春晚",还不知将继续招摇多少年。
真想冒叫一声:什么时候"春晚"寿终正寝,或是百舸争流了,中国的文艺春天才算真正到来了,中国人的大年夜,才有真正丰盛的精神年夜饭,让十三亿人各取所需、大快朵颐。
希望这一天不会遥遥无期。因为,做人真的不能太"春晚"。
自已写的操作应用程序的工具
星期六, 2 2 月, 2008在网吧上网的时候可能会碰到那种允许下载并安装程序但不允许手动删除任何文件的情况,但是却允许执行已安装目录下的反安装程序进行卸载。因此我得出一个结论:一些网吧客户端软件是通过钩子找到删除确认提示框并禁用“是”按钮而不是禁用操作系统级的功能。从允许安装程序的角度来看,登录用户至少有User级的权限,也可能是Power User,但没有认证。
因此我自己用C++写了一个应用程序,通过API直接管理文件,包括执行常用程序、自动获取系统目录、执行指定的程序、删除指定目录或文件(删除文件之前先把其头1024字节的内容置成0,以防止二进行文件的恢复)、杀掉指定PID的进程(在任务管理器中可以找到正在运行程序的PID值,此方法应该可以终止网吧客户端进程,没有认证,不推荐使用)等。
Feed: