หน้าหลัก
ข่าวสาร - บทความ ทั้งหมด
VB 6/VB.Net
ASP/ASP.Net
จับฉ่ายคอมพิวเตอร์
เรียนรู้ผ่าน Flash Movie
บทความที่มีผู้ตอบล่าสุด  
 RSS Feeds
 ดาวน์โหลดโปรแกรม RSS Reader ได้ที่นี่ ...   Download โปรแกรม RSS Reader

กระดานข่าวสาร เว็บบอร์ด - www.g2gnet.com
ดาวน์โหลดฟรีโปรแกรม และ Free Souce Code ได้ที่นี่ ...
รู้จักกับเว็บมาสเตอร์ - www.g2gnet.com
::: โปรแกรมมาใหม่ :::
โปรแกรมพิมพ์สติ๊กเกอร์บาร์โค้ด - Barcode Sticker
โปรแกรมพิมพ์สติ๊กเกอร์บาร์โค้ด - Barcode Sticker
โปรแกรมไปรษณีย์ และ จุดชำระค่าบริการ (iPayPost Software)
โปรแกรมไปรษณีย์ และ จุดชำระค่าบริการ
โปรแกรมจุดรับชำระค่าบริการ (iPayLite Software)
โปรแกรมจุดรับชำระค่าบริการ
::: BarcodeSoft :::
::: Printing :::
โปรแกรมพิมพ์รหัสบาร์โค้ด - BarcodeSoft Printing
โปรแกรมรหัสไปรษณีย์ทั่วไทย
::: G2GNet PostCode :::
!!!!! แจกฟรี !!!!!
ดาวน์โหลดโปรแกรมรหัสไปรษณีย์ทั่วไทย G2GNet PostCode Thailand
Visitors - Session views
 3 3 3 1 3 4 9

7 ธันวาคม พ.ศ.2549
165 Users On-Line.
Visitors - Page views
 5 9 0 2 9 3 3
1 กุมภาพันธ์ พ.ศ.2551

Google   
เว็บ g2gnet.com
ขนาดตัวอักษร:  
    ดาวน์โหลด และ แนะนำวิธีการติดตั้ง Active Report Professional 2.0
    แจกฟรี Source Code โปรแกรมขายสินค้า - Point Of Sale (โดย เว็บมาสเตอร์-ทองก้อน
    แจกฟรี Source Code การพิมพ์ใบกำกับภาษี - Active Report 2.0 (โดย ctx-9000@hotmail.com)
    SourceCode การดึงข้อมูลมาแสดงผลลงใน SharpGrid (โดย dos_network@hotmail.com)
    แจกฟรี Source Code VB6+Access โปรแกรมฐานข้อมูลครุภัณฑ์
    แจกโปรแกรมดูทีวี ดูหนัง ฟังวิทยุ ฟังเพลงออนไลน์ - G2GnetTV On Line ... ฟรีๆๆๆๆ
          ข้อมูลสถานี/รายการ (XML)  ข้อมูลสถานี/รายการ (HTML)
โปรแกรมระบบบัญชี Profit - Account

ฟังค์ชั่น MessageBox ใน Microsoft Visual Basic 6.0

Category »  VB 6/VB.Net
โดย : Webmaster เมื่อ 11/6/2552   เวลา: 13:27
(อ่าน : 26098)/(ตอบ : 10)  ข้อคิดเห็น   |   พิมพ์   |  
บทความนี้จะมานำเสนอความแตกต่างของฟังค์ชั่น (หรือเรียกว่าคำสั่งก็ไม่ผิด) ระหว่าง MsgBox กับ MessageBox ในกรณีของ MsgBox หมู่สาวก VB6 ก็ต้องใช้งานกันโดยตลอดอยู่แล้ว ส่วน MessageBox เราก็จะพบเห็นใน VB.Net ซ่ะมากกว่า ซึ่งทำให้แทบจะทุกคน (จริงๆ) เข้าใจว่าคำสั่ง MessageBox มันไม่มีอยู่ใน VB6 ... อิอิอิ ...
ดาวน์โหลด
ดาวน์โหลด Source Code สำหรับ MS Visual Basic 6.0 - Service Pack 6
 ดาวน์โหลด Visual Basic 6.0 SP5: Run-Time Redistribution Pack
 ดาวน์โหลด Microsoft Data Access Object (MDAC) และ Jet 4.0 Update
 ดาวน์โหลด Microsoft Visual Basic Service Pack 6
ข้อมูลเพิ่มเติม
MessageBox Function - ไมโครซอฟท์
เรื่องของโปรแกรมย่อย (อีกที) ... Sub Program, Routine, Procedure หรือ Function
ฟังค์ชั่นที่ใช้ในการคำนวณหาค่าความแตกต่างกันของเวลา (Time)
ฟังค์ชั่นที่ใช้ในการคำนวณหาค่าความแตกต่างระหว่างวันเดือนปี 2 ค่า
การทำงานแบบ Background Process หรือ การทำงานที่อยู่เบื้องหลัง (เงียบๆ) โดยไม่มีการโต้ตอบกับผู้ใช้ ซึ่งมักจะเป็นงานที่ใช้เวลาค่อนข้างนาน ยกตัวอย่างให้เห็นกันจะๆ เช่น การส่งงานออกไปพิมพ์ที่เครื่องพิมพ์ (Printer) ซึ่งในระหว่างที่เครื่องพิมพ์กำลังปริ้นท์เอกสารนับสิบๆหน้าอยู่นั้น ผู้ใช้ก็สามารถกลับมาพิมพ์เอกสารออกจอภาพได้ทันที นี่เป็นงานส่วนหน้าที่โต้ตอบได้ (Foreground) นั่นเอง ส่วนงานพิมพ์เอกสาร (Hard Copy) ก็จะถูกกำหนดให้ทำงานอยู่แบบเบื้องหลัง หรือ Background Process ค่อยๆทยอยพิมพ์เอกสารออกไปได้เรื่อยๆ ที่ว่ามา ... จุดประสงค์หลักๆของกระบวนการนี้ก็คือ ต้องการใช้งาน CPU ให้เกิดประสิทธิภาพสูงสุด
เคยสังเกตกันบ้างมั้ยว่า ระหว่างที่เราใช้งานคำสั่ง MsgBox อยู่นั้น หากมีเหตุการณ์ที่ทำงานอยู่เบื้องหลัง (Background Process) และ ไปเกี่ยวข้องกับการนับ หรือ เวลา งานต่างๆเหล่านี้จะหยุดการทำงานลง เพื่อให้ผู้ใช้ได้โต้ตอบกับ Dialog Box ที่โผล่ขึ้นมาก่อน หากเป็นเช่นนี้แล้วจะทำให้ลดประสิทธิภาพการทำงานของระบบโดยรวมลงไป ซึ่งเราจะแก้ไขโดยอาศัย API (Application Programming Interface) เข้ามาช่วย โดยคงสภาพให้ Background Process สามารถดำเนินการต่อไปได้
  • Design Time
  • โปรแกรมทำงาน (Run - Time)
  • ค่าพารามิเตอร์ของฟังค์ชั่น MessageBox
    • hwnd เป็นค่าจำนวนเต็มที่ระบบปฏิบัติการกำหนดให้กับฟอร์ม (หรือวัตถุ) ในที่นี้เราอ้างอิงด้วย Me.hwnd
    • lpText คือ คำอธิบาย หรือข้อความที่ใช้แจ้งรายงานต่างๆ
    • lpCaption คือ Title หรือ ป้ายบอกฟอร์มของมัน
    • wType คือ Option ต่างๆ เช่น ปุ่มเลือก ไอคอน ที่นำมาแสดงผล
  • Timer1 หยุดทำงาน จึงไม่แสดงผลเวลาที่ Label1
    เนื่องจากต้องรอการโต้ตอบกลับมาจากผู้ใช้งานก่อน
  • Timer1 ยังคงทำงานต่อในลักษณะ Background Process
    เนื่องจากมันจะถูกกระตุ้นให้ทำงานทุก 1 มิลลิวินาที
    เริ่มต้นกระบวนการทำงาน
    
    Option Explicit
    Private Declare Function MessageBox Lib "user32" Alias "MessageBoxA" ( _
        ByVal hwnd As Long, _
        ByVal lpText As String, _
        ByVal lpCaption As String, _
        ByVal wType As Long _
        ) As Long
    
    Private Sub Command1_Click()
        ' Timer1 หยุดทำงาน ไม่ใช่ Timer หรือ สัญญาณนาฬิกาของระบบหยุดทำงานน่ะครับ ... คนละเรื่องกัน
        ' การใช้งาน MsgBox ตามปกติ
        MsgBox "ขณะนี้เวลา Timer1 หยุดทำงาน.", vbOKOnly + vbInformation, "รายงานสถานะ"
    End Sub
    
    Private Sub Command2_Click()
        ' ความแตกต่างเมื่อเรียกใช้ Dialog Box ผ่าน Win32 API
        MessageBox Me.hwnd, "คำเตือน ... เวลาจาก Timer1 ไม่ได้หยุดทำงาน.",  _
        "การใช้งาน Win32 API", vbOKOnly + vbExclamation
    End Sub
    
    Private Sub Form_Load()
        Me.Move (Screen.Width - Me.Width) \ 2, (Screen.Height - Me.Height) \ 2
        ' ตั้งค่าการกระตุ้นให้ทำงานทุก 1 มิลลิวินาที
        Timer1.Interval = 1
    End Sub
    
    Private Sub Timer1_Timer()
        ' แจ้งเวลาทุกๆ 1 มิลลิวินาที
        Label1.Caption = Time
    End Sub
    
    

  • ร่วมแสดงความคิดเห็น

    [ความเห็นที่:  1] จากคุณ : Mr.Den เมื่อ 11/6/2552 14:06:37  IP: 61.90.68.64

    ขอบพระคุณอย่างสูงครับ.

    [ความเห็นที่:  2] จากคุณ : บอมบ์ เมื่อ 12/6/2552 16:12:56  IP: 203.146.16.3

    ขอบคุณครับที่ให้ความรู้ใหม่ๆ มาโดยตลอด

    [ความเห็นที่:  3] จากคุณ : ctx-9000 เมื่อ 14/6/2552 8:45:19  IP: 203.156.41.132

    เจ้าของเว็บไม่ ON AIR เลย
    เห็นแต่รูปนั่งบนเตียงโรงหมอ ผมนึกว่าพิการอย่างว่าจริงๆ

    [ความเห็นที่:  4] จากคุณ : devman เมื่อ 18/6/2552 17:19:19  IP: 125.25.135.111

    ขอบคุณครับ คุณทองก้อนไม่แวะไปเที่ยว
    .net ด้วยกันบ้างเหรอครับ มีอะไรดี
    เหมือนกันนะครับ (ทำให้ชีวิตมัน..ยากดี..ฮา)

    [ความเห็นที่:  5] จากคุณ : funny เมื่อ 27/1/2553 21:30:14  IP: 202.28.64.1

    thank
    แล้วถ้าเป็น inputbox (รับข้อมูล) ต้องเขียนคำสั่งยังไงค่ะ

    [ความเห็นที่:  6] จากคุณ : SkyKing เมื่อ 13/2/2553 1:27:24  IP: 125.27.64.98

    พี่ครับผมเขียนโปรเจคด้วยVB6แต่ติดปัญหาเกี่ยวกับพวกอัพรูปภาพลงฐานข้อมูลในขณะโปรแกรมรันอยู่และให้แสดงรูปภาพในขณะที่เราเลือกไปที่เรคอดนั้นเช่นเราเก็บข้อมูลพนักงานเมื่อเราเก็บข้อมูลทุกอย่างรวมรูปภาพด้วยเสร็จแล้วกดSaveในขณะที่กดเลื่อนเรคคอดเมื่อข้อมูลพนักงานแสดงขึ้นผมอยากให้มีรูปภาพแสดงพร้อมด้วยเมื่อกดเลื่อนไปอีกเรคคอดก็ให้แสดงข้อมูลพร้อมรูปภาพด้วยอีก  นั้นแหละครับปัญหาของผมทำไม่เป็นจริงๆๆๆงง

    [ความเห็นที่:  7] จากคุณ : L_Jung เมื่อ 20/7/2553 2:38:19  IP: 110.164.239.158

    ขอบคุณในทุกๆcode ขอบคุณมากครับ

    [ความเห็นที่:  8] จากคุณ : กุ๊กกิ๊ก เมื่อ 4/1/2554 9:17:52  IP: 61.19.30.70

    ขอบคุณมากๆเยยยยย

    [ความเห็นที่:  9] จากคุณ : คันหู เมื่อ 19/8/2554 9:18:20  IP: 58.137.156.190

    คันหู ไม่รู้เปน อ่าไรรรรร  เยี่ยม ค่ะ

    [ความเห็นที่:  10] จากคุณ : khon เมื่อ 12/3/2555 14:45:33  IP: 103.1.29.172

    thank for source code


    ก่อนการคลิ๊กโพสต์ข้อความ ขอความกรุณาใช้ถ้อยคำที่สุภาพด้วยครับ เว็บไซต์แห่งนี้เป็นแหล่งเผยแพร่ความรู้ ดังนั้นสำหรับท่านที่พยายามจะป่วนเว็บไซต์ หากท่านเป็น "คนไทย" เช่นเดียวกันกับผม ก็ขอความกรุณาได้โปรดเห็นใจ "คนไทย" อีกจำนวนไม่น้อย ที่เข้ามาขอความช่วยเหลือ จากเว็บไซต์ของผมด้วยน่ะครับ และหากท่านใดไม่เข้าใจในตรงจุดไหน ก็ขอให้ระบุสิ่งที่อยากจะถามออกมา บทความของผมแทบทั้งหมดต้องอาศัยทักษะการปฏิบัติเป็นหลัก ดังนั้นขอให้ดู และ ทดสอบจากโค้ดโปรแกรมประกอบตามไปด้วย
    IP Address: 54.227.62.141
    ชื่อของคุณ:

    ข้อคิดเห็น:

    1 + 0 = ?  (กรุณาป้อนคำตอบลงในช่องด้านล่างให้เป็น ภาษาไทย ตามผลบวกของตัวเลขให้ถูกต้องก่อนด้วยน่ะครับ เช่น ศูนย์)
      


    จี ทู จี เน็ต ดอต คอม - g2gNet Dot Com
    เลขทะเบียนพาณิชย์อิเล็กทรอนิกส์ 0407314800231
    Copyright © 2005 g2gNet.Com All rights reserved.
    Email: thongkorn@hotmail.com หรือ โทร. 08-6862-6560