ListView Programming Story[2]

ListView Programming Story[2]

หลังจากที่ผมงมๆกับการอ่าน Help จาก MSDN ในที่สุด ผมก็สามารถทำ Operation กับ ListView ในการจัดการกับข้อมูลได้อย่างเรียบร้อยแล้ว แต่ยังไม่ค่อยจะสมบูรณ์นัก ซึ่งผลจะเป็นอย่างไรกันบ้าง เชิญอ่าน

Success of Listview Operations

Now  15/11/2549

  1. Listview Operations

สาระสำคัญของ Listview Operations มี 4 อย่างคือ

1.1  Add

1.2  Delete

1.3  Insert

1.4  Edit

เพิ่มเติมว่า ถ้าอยากลบทิ้งทั้งหมด ก็เป็น Clear All List

จากเดิม ที่ได้แนวทางจาก ตัวอย่าง code  ใน   www.codeproject.com

สามารถทำได้เพียง 1.1 ,1.2 กับ Clear All List เท่านั้น

มาวันนี้ หลังจากที่งมอ่าน Source code กับ Tips แนะนำต่างๆที่เกี่ยวข้องเรียบร้อยแล้ว

ใช้เวลาจัดการกับแนวความคิดนี้ ในช่วงบ่าย พบว่า สามารถทำในส่วนของ 1.3 กับ 1.4 ได้แล้ว

อย่างไม่ติดขัดเลย มีบ้างในเรื่องของ ตัวแปร ซึ่งก็แก้ไขได้ไม่ยากเย็นอะไรนัก

เลยต้องมาบันทึกไว้ว่า วันนี้ ทำได้แล้ว โล่งใจเสียที พอจะหลุดจาก VB ได้บ้างแล้ว (ยังไม่ได้ทำกับพวก Rapid Programming แบบ C++ Builder, Delphi ดูนะ)
สำหรับ MFC เนี่ย ก็ยังทำได้ไม่ครบ 4-5 Operations

*—————————————————-*

  1. เจอปัญหาเส้นผมบังภูเขา

ปัญหามีอยู่ว่า หลังจากที่ทำ 5 Operations ครบแล้ว พบว่า ใน Listview (List control) มันทำงานได้ทุกๆอย่าง เกือบเหมือนตัวที่เคยใช้ VB ทำ แต่ติดตรงที่ มันไม่มี Selected Highlight ให้ดูเหมือนตัวที่ใช้ VB ทำ Search หาข้อมูลในเวบ เจอแต่แบบเล่นยาก พวก ใส่ Paint DC มาเลยหรือไม่ก็ MFC จ๋า (งง +_+ จริงๆ) ผลสุดท้ายมาสะดุดใจกับคำๆนึง ในขณะค้นหา คือ คำว่า Property
คือในชุด Link ที่ทำการค้นหาน่ะ เนื้อหาจริงๆเขาบอกถึงเรื่องการ set properties ของ Listview ให้ VB แต่เราก็เอามาประยุกต์ใช้ได้กับ VC เหมือนกัน ก็เลยเข้าไปดูในส่วนของ Control Properties ก็เจอเลยกับตัวปัญหา

คำตอบ เมื่อเปิด Properties เข้าไปดูก็พบว่า ตัวมันเองทำการ set selection flag เป็นแบบนี้

เดิม  HideSel = True   // โธ่ แบบนี้ มันจะไปเห็นได้ไงล่ะเนี่ย

แก้ไข HideSel=False // แบบนี้สิ ค่อยยังชั่ว เห็นแน่นอน

เมื่อลอง  Build โปรแกรมซ้ำอีกที พบว่า ผลลัพธ์ทุกอย่าง เป็นไปตามที่เคยเกิดกับ โปรแกรมที่อยู่ในตัว VB

สรุปว่า ควรสำรวจ Properties ให้หมดทุกตัวเท่าที่มีก่อนว่า เมื่อตั้งค่าแล้ว จะสามารถแสดงผลได้ตามที่เราต้องการได้หรือเปล่า

Note: เคยงงยิ่งกว่านี้มาแล้ว ในตอนแรก เนื่องจากให้ค่า Header Column ไว้แล้ว แต่ไม่ได้ set list control ให้เป็น แบบ Report เลยเอ๋อ ไปพักนึง

สรุปกันก่อน ในส่วนของ  1  และ 2 นั้น พบว่า เราเองติดกับมันอยู่นานมากๆเลย ตั้งหลายปีแล้วล่ะ เพิ่งมาสำเร็จเอาในวันนี้น่ะเอง (คิดเฉพาะส่วนของปัจจุบัน ก็ประมาณ 1 ปีกะ 11 เดือน)

หมายเหตุ ปีแรก ทำไม่ทันเลยใช้ VB ทำให้ พอมาปี 2006 เจอ VB.net เข้าไป เรือแตก เลยต้องมายึด Win 32 API เป็นหลักแทน เพราะว่า ยากพอกัน

*—————————————————-*

  1. สิ่งที่จะต้องทำต่อไป

ขณะนี้ พบว่า เวลา Click mouse ที่ listview เท่านั้น ถึงจะเกิดการเปลี่ยน เลื่อน ค่าใน item ไปตาม control ต่างๆ

จึงต้องหาวิธี Map Message ให้ การกดปุ่มลูกศร Home End PgUP PgDwn เสมือนว่า เรา Click Mouse อยู่ บน Listview  ซึ่งคงต้องหากันต่อไป

นอกจากนั้น ต้องทำการ set path file เพื่อใช้ในการจัดการไฟล์กันต่อไป

*—————————————————-*

 

ListView Programming Story[2]
Tagged on:                     

Leave a Reply

Your email address will not be published. Required fields are marked *

Close
E-mail It