Что нового

создание окна с необходимыми надстройками

yukuru

Влюбленный Бродячий Кот
Сообщения
48
Репутация
4
.описываю суть необходимого.
Запускаем программу- открывается окно. вокне клипаем кнопку и оно запускает дочерние окно. в нем отображено содержимое файла, разделенное по по кускам. окно имеет только прокрутку ВВерх\низ.

проблема- не получается толково реализовать разделение и прокрутка не работает.

код дочернего окна ниже. если можете обЪяснить как исправить или предлоить альтернативву,- будет замечательно.

Код:
;$size = WinGetPos("ОФФ-лайновский Дневник")
$size[0]=100
$size[1]=100
	;MsgBox(0,"", $size[0]&"X"&$size[1]&"X"&$size[2]&"X"&$size[3])

	;$hWnd = GUICreate("ОФФ-лайновский Дневник", 400, 500)

;GUISetState(@SW_SHOW)

;	$dnevnik = GUICreate("ВСЕ записи", 400, 500,$size[0]+406, $size[1], $WS_VSCROLL, $WS_EX_MDICHILD, $hWnd)
;	$dnevnik = GUICreate("ВСЕ записи", 400, 500,406,-22, $WS_VSCROLL, ;$WS_EX_MDICHILD, $hWnd)
$dnevnik = GUICreate("ВСЕ записи", 400, 500,406,500, $WS_VSCROLL)
;GUICtrlCreateEdit ( "textdfgdfvdfvdfvdr dfvdfdf ", 10, 10  )

$file=FileOpen("dnev",0)
$linecount=0
$linetext=""
$nomber_line=1
$height0=10
$height2=10
 While 1


	$linef=FileReadLine ($file,$nomber_line )
	 If @error = -1  Then
    ;MsgBox(0, "Error", "Unable to open file.")
	FileClose($file)
    ExitLoop
EndIf


	$posstr=StringInStr($linef,".==.==================")
	;MsgBox(0,"",$posstr)
	Switch $posstr
		Case 1
	;		MsgBox(0,"","==")
			$lined=$linef
			$linetext=""
			$linecount=0
			$groupn = StringMid($lined, $posstr+22, 26)
		Case 0
	;		MsgBox(0,"","!==")
			while StringInStr($linef,".**.***")<>1
					$linetext&=$linef&@CRLF
					;MsgBox(0,"",$linetext)
					$linecount+=1
	;				MsgBox(0,"","!== +1")
					$nomber_line+=1
					$linef=FileReadLine ($file,$nomber_line )
				 If @error = -1  Then
   ; MsgBox(0, "Error", "Unable to open file.")
	;FileClose($file)
    ExitLoop
	EndIf
			WEnd

$height0+=$height2
$height2+=$linecount*10
		GUICtrlCreateGroup($groupn, 10, $height0,360,$height2+20)

					;MsgBox(0,"",$linetext)

			GUICtrlCreateLabel($linetext, 15, $height0+15,340,$height2)
			$height0+=25

			$linetext=""
			$linecount=0
;$groupn=""
	EndSwitch

	$nomber_line+=1
;	WEnd

	;GUICtrlCreateGroup($groupn, 10, 10,360,600)

;$AlgoLabel = GUICtrlCreateLabel("Algorithm dfdf d f d d f fddf df  dfd d fdfd dfdfd dfdf df df df dfdf df        dfd fd f df df d df ddd f d", 15, 25,340,30)


WEnd
GUISetState(@SW_SHOW,$dnevnik)



соотвесвенно текст файла который он требует будет например

.==.==================2011-08-06 Time:20:52:890

Заголовок

d
f
g
d
f
в

.**.******************
.==.==================2011-08-06 Time:21:16:359

Заголовок

svsv

sdv
s
dv


.**.******************
 

FlatX007

Tattoo!
Сообщения
197
Репутация
35
Ничего не понял про разделение текста :scratch:
Код:
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>

$ParentWin = GUICreate("Parent GUI", 250, 250)
$Button1 = GUICtrlCreateButton("Button1", 8, 216, 75, 25, 0)
$ParentWin_Pos = WinGetPos($ParentWin, "")
GUISetState(@SW_SHOW)

$ChildWin = GUICreate("Child GUI", 250, 250, $ParentWin_Pos[0] + 100, $ParentWin_Pos[1] + 100, -1, -1, $ParentWin)
$Edit1 = GUICtrlCreateEdit(FileRead('') , 8, 8, 233, 201, BitOR($ES_READONLY,$ES_WANTRETURN,$WS_VSCROLL))
GUISetState(@SW_HIDE)
GUISwitch($ParentWin)

While 1
	$nMsg = GUIGetMsg(1)
	Select
		Case $nMsg[0] = $GUI_EVENT_CLOSE
			If $nMsg[1] = $ChildWin Then
				GUISwitch($ParentWin)
				GUISetState(@SW_HIDE, $ChildWin)
				GUISetState(@SW_SHOW, $ParentWin)

			ElseIf $nMsg[1] = $ParentWin Then
				Exit
			EndIf

		Case $nMsg[0] = $Button1
			GUISetState(@SW_SHOW, $ChildWin)
			GUISetState(@SW_HIDE, $ParentWin)

	EndSelect
WEnd
 

AZJIO

Меценат
Меценат
Сообщения
2,874
Репутация
1,194
yukuru
Посмотри в справке функцию _GUIScrollBars_ScrollWindow как пример.
 
Автор
Y

yukuru

Влюбленный Бродячий Кот
Сообщения
48
Репутация
4
спасибо

а еще тут частично ответ на мой вопрос
http://autoit-script.ru/index.php?PHPSESSID=ckj87gu3cmnglr9v3okaejls05&topic=542.0;wap2
 
Верх