ฟอรั่มของบล็อก http://pssix.blogspot.com


GUI ว่าด้วย edit

Share

Anothor
สมาชิกทั่วไป
สมาชิกทั่วไป


จำนวนข้อความ : 16
ความนิยม : 0
เข้าร่วมเมื่อ : 24/04/2014

GUI ว่าด้วย edit

ตั้งหัวข้อ by Anothor on 04/08/14, 06:33 pm

พอดีผมสร้าง ช่อง Edit ในหน้าต่าง GUI ขึ้นมาเพื่อให้มัน แจ้งเตือน อะครับ
แบบว่าว่างเลยทำเล่นๆ

แต่ผมติดปัญหาอยู่ที่ว่า เวลาผมใช้คำสั่ง
_GUICtrlEdit_SetText($hEdit, "Test 1" & @CRLF & "Test 2")
เวลารันแล้วมันจะขึ้นที่ หน้า ต่าง edit
Test 1
Test 2


แต่พอผมลองเขียนแบบว่า
_GUICtrlEdit_SetText($hEdit, "Test 1" & @CRLF & "Test 2")
(สมมุติว่า) หากเวลาผ่านไป 10 วิ จะ
_GUICtrlEdit_SetText($hEdit, "Test 3" & @CRLF & "Test 4")
เวลารันแล้วมันจะขึ้นในช่อง edit
Test1
Test2

พอเวลาผ่านไป 10 วิ มันจะ กลายเป็น
Test3
Test4

แต่ที่ผมต้องการคือ
Test1
Test2

Test3 (เมื่อเวลาผ่านไป 10 วิ ข้อความจะขึ้นต่อ โดนที่ไม่ลบข้อครวามก่อนหน้า)
Test4
avatar
Arm
PSsix Member Super Class III
PSsix Member Super Class III

PSsix Master PSsix Program Coder
จำนวนข้อความ : 267
ความนิยม : 54
เข้าร่วมเมื่อ : 31/03/2011
อายุ : 20

Re: GUI ว่าด้วย edit

ตั้งหัวข้อ by Arm on 04/08/14, 09:43 pm

ดึงค่าข้อความเดิมออกมาแล้ว + ค่าใหม่เข้าไปครับ

_GUICtrlEdit_SetText($hEdit, _GUICtrlEdit_GetText($hEdit) & "บลาๆๆ")

ปล.หรือจะใช้ GUICtrlRead() ก็ได้นะครับ


แก้ไขล่าสุดโดย Arm เมื่อ 05/08/14, 06:35 am, ทั้งหมด 1 ครั้ง

Anothor
สมาชิกทั่วไป
สมาชิกทั่วไป


จำนวนข้อความ : 16
ความนิยม : 0
เข้าร่วมเมื่อ : 24/04/2014

Re: GUI ว่าด้วย edit

ตั้งหัวข้อ by Anothor on 04/08/14, 10:57 pm

Arm พิมพ์ว่า:ดึงค่าข้อความเดิมออกมาแล้ว + ค่าใหม่เข้าไปครับ

_GUICtrlEdit_SetText($hEdit, _GUICtrlEdit_GetText($hEdit) & "บลาๆๆ")

รบกวนอีก 1 คำถามครับ

ถ้าเกิดเราจะล็อคช่อง Edit ไม่ให้พิมพ์อะไรได้ แต่ให้มันใส่ได้เฉพาะค่าที่เป็นข้อความบลาๆๆที่เราเขียนไว้ในคำสั่ง(_GUICtrlEdit_SetText) เราจะต้องใช้คำสั่งอะไร
avatar
Arm
PSsix Member Super Class III
PSsix Member Super Class III

PSsix Master PSsix Program Coder
จำนวนข้อความ : 267
ความนิยม : 54
เข้าร่วมเมื่อ : 31/03/2011
อายุ : 20

Re: GUI ว่าด้วย edit

ตั้งหัวข้อ by Arm on 04/08/14, 11:16 pm

ใช้ $ES_READONLY ครับ

_GUICtrlEdit_Create($Form1, "บลาๆๆ", 200, 150, -1, -1, $ES_READONLY)

 em218 

Anothor
สมาชิกทั่วไป
สมาชิกทั่วไป


จำนวนข้อความ : 16
ความนิยม : 0
เข้าร่วมเมื่อ : 24/04/2014

Re: GUI ว่าด้วย edit

ตั้งหัวข้อ by Anothor on 06/08/14, 05:06 pm

Arm พิมพ์ว่า:ใช้ $ES_READONLY ครับ

_GUICtrlEdit_Create($Form1, "บลาๆๆ", 200, 150, -1, -1, $ES_READONLY)

 em218 

แล้วถ้าผมต้องการ จะ โหลดไฟล์ที่เป็น txt มาให้แสดงผลในหน้าต่าง Edit
จะต้องใช้คำสั่ง FileOpenDialog แล้วใช้คำสั่งนี้ FileRead
แล้วก็ใช้คำสั่ง GUICtrlSetData เพื่อให้มันแสดงผล ในช่อง Edit ว่าไฟล์
ที่เราโหลดเข้ามาเนีย เซฟ อะไรไว้มั่ง

แล้วถ้าหากผมจะให้มันโหลดไฟล์มาแสดงผลโดยอัตโนมัตแบบ ใส่ที่อยู่ของไฟล์
เฉพาะเจาะจง ไฟล์นี้ไฟล์เดียว แล้วให้มันมาแสดงผลใน หน้าต่าง edit ทีเดียวนี่
ผมต้องใช้คำสั่งอะไรหรอครับ
avatar
Arm
PSsix Member Super Class III
PSsix Member Super Class III

PSsix Master PSsix Program Coder
จำนวนข้อความ : 267
ความนิยม : 54
เข้าร่วมเมื่อ : 31/03/2011
อายุ : 20

Re: GUI ว่าด้วย edit

ตั้งหัวข้อ by Arm on 06/08/14, 08:18 pm

ก็ใช้ไฟล์รีดอย่างเดียวเลยครับ FileRead("C:\work.txt")

Code:
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
Global $text, $button, $check
check()
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("FileRead", 264, 273, -1, -1)
$Edit1 = GUICtrlCreateEdit("", 16, 16, 233, 201, BitOR($GUI_SS_DEFAULT_EDIT,$ES_READONLY))
GUICtrlSetData(-1, $text)
$Button1 = GUICtrlCreateButton($button, 56, 232, 155, 33)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
   $nMsg = GUIGetMsg()
   Switch $nMsg
      Case $GUI_EVENT_CLOSE
         Exit
      Case $Button1
         If $check <> 1 Then
            FileWriteLine("test.txt", "I'm happy ^_^")
            GUICtrlSetData($Edit1, FileRead("test.txt"))
            GUICtrlSetData($Button1, "File read")
            GUICtrlSetState($Button1, $GUI_DISABLE)
         Else
            GUICtrlSetData($Edit1, FileRead("test.txt"))
            GUICtrlSetData($Button1, "File read")
            GUICtrlSetState($Button1, $GUI_DISABLE)
         EndIf
   EndSwitch
WEnd

Func check()
   If FileExists("test.txt") Then
      $text = "test.txt are already created"
      $button = "Read file"
      $check = 1
   Else
      $text = "test.txt not found!"
      $button = "Create and Read file"
      $check = 0
   EndIf
   Return $check
EndFunc

    เวลาขณะนี้ 14/12/17, 04:55 pm