On-line: гостей 2. Всего: 2 [подробнее..]
АвторСообщение



Пост N: 8
Зарегистрирован: 05.06.07
ссылка на сообщение  Отправлено: 12.09.07 07:26. Заголовок: Проблемы и ограничения обработки события OnSize для объекта Image


Проблема всплыла в очередной раз когда делал обработку изменения размеров окна так, чтобы объект Image с открытой картинкой также менял свой размер.
Делается это так.
Сначала меняется размер фрейма внутри которого показывается картинка.
Потом вычисляются новые границы для объекта Image.
Затем удаляется существующий объект Image
и создается новый с новыми границами.
Вроде такой способ показан в одном из примеров.
//----------------------------
static function wReSize()
local s
if wMain.Width<400; wMain.Width:=400; endif
if wMain.Height<657; wMain.Height:=657; endif
wMain.Frame_13.Height:=wMain.Height-wMain.Frame_13.Row-BottomBorder
wMain.Frame_13.Width:=wMain.Width-wMain.Frame_13.Col-RightBorder

GetImgZoneSize()
IF IsControlDefined( Image_1, wMain)
s:=wMain.Image_1.Picture
wMain.Image_1.Release
//ShowPicture(s)
ENDIF
return Nil
//----------------------------
function GetImgZoneSize()
imgCol:=wMain.Frame_13.Col+10
imgWidth:=wMain.Frame_13.Width-20
imgRow:=wMain.Frame_13.Row+20
imgHeight:=wMain.Frame_13.Height-30
return Nil
//----------------------------
function ShowPicture(cFile)
@ imgRow,imgCol IMAGE Image_1 OF wMain ;
PICTURE cFile ;
WIDTH imgWidth ;
HEIGHT imgHeight
return Nil
//----------------------------
Однако, как выяснилось, вызов обработчика события OnSize - функции wReSize() - происходит через каждый пиксел изменения размера окна. И здесь происходит какая-то шиза – картинка не видна на экране.
Закрыл вызов показа (см.текст), оставил только удаление объекта Image_1. Вызываю показ (создание нового объекта Image_1) отдельным нажатием и вижу, что появившаяся картинка частично перекрыта сверху прамоугольником с границами предыдущего удаленного объекта Image_1. Поэтому в предыдущем варианте – с постоянной перерисовкой вовремя ReSize – картинка была не видна , т.к. перекрывающий ее прямоугольник отличался размерами всего на один пиксел.
Причем, если окно с картинкой всплывает из-под окна другого приложения – то картинка видна полностью. А если в minimize и обратно – то частично.

Резюме.
1. Вопрос. Что это за шиза? Т.е. почему после удаления остается какой-то объект фонового цвета. И как с этим бороться?
2. Предложение. Вроде бы видел в какой-то системе типа Delphy события типа Befor_Resizing и After_Resizing. Первое событие – когда нажимается кнопка мыши на границе окна и производится вход в режим ReSize. Второе событие – когда отпускается кнопка мыши после ReSize. Удобно было бы иметь их в некоторых случаях. Чтобы не производить масштабных вычислений на каждый пиксел изменения размеров, а запомнить что нужно перед ReSize и пересчитать что нужно один раз после ReSize.
3. Замечание. В очередной раз столкнулся с отставанием в документации. Читаю про объект Image - An image static control can display bitmaps, icons (including animated icons), or enhanced metafiles. Начинаю искать способ показать JPG. А в примерах без всяких изысков в Image загружают и JPG, и GIF, и CUR

SadStar

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 25 , стр: 1 2 All [только новые]


модератор




Пост N: 546
Зарегистрирован: 25.05.05
ссылка на сообщение  Отправлено: 12.09.07 10:18. Заголовок: Re:


SADSTAR2 пишет:

 цитата:
почему после удаления остается какой-то объект фонового цвета. И как с этим бороться?


Думаю, так работает Win-обработчик события Paint (подробности см. здесь). Попробуй использовать для обновления картинки метод Refresh, который поддерживается в последней версии библиотеки.
function ShowPicture(cFile)
@ imgRow,imgCol IMAGE Image_1 OF wMain ;
PICTURE cFile ;
WIDTH imgWidth ;
HEIGHT imgHeight
//
wMain.Image_1.Refresh
//
return Nil

Замечание по теме. Поскольку изменение размеров картинки в примере требуется только для перерисовки фона окна, рекомендую обратить внимание на команду DEFINE BKGBRUSH, которая лучше справляется с этой задачей

SADSTAR2 пишет:

 цитата:
столкнулся с отставанием в документации


Есть такое дело Спасибо за подсказку

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 226
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 12.09.07 10:58. Заголовок: Re:


SADSTAR2 пишет:

 цитата:
2. Предложение. Вроде бы видел в какой-то системе типа Delphy события типа Befor_Resizing и After_Resizing. Первое событие – когда нажимается кнопка мыши на границе окна и производится вход в режим ReSize. Второе событие – когда отпускается кнопка мыши после ReSize. Удобно было бы иметь их в некоторых случаях. Чтобы не производить масштабных вычислений на каждый пиксел изменения размеров, а запомнить что нужно перед ReSize и пересчитать что нужно один раз после ReSize.



Весь инструментарий для реализации Вашего предложения в MiniGUI Ex есть - SET EVENTS FUNCTION ..
Только Вы им почему-то не пользуетесь.

Возможны и другие ухищрения - например в OnSize проверять нажата ли кнопка мыши, но сабклассинг все таки лучше.


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 227
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 12.09.07 17:52. Заголовок: Re:


Крайне рекомендую сделать бэкап

Открываем \MiniGUI\Include\i_var.ch
вносим сл.изменения

перед
#xtranslate _HMG_ErrorLogFile => _HMG_SYSDATA\[1\]
добавляем
#define _HMG_SYSDATA_SIZE 412

после
#xtranslate _HMG_ActiveControlTrailingFontColor => _HMG_SYSDATA\[410\]
добавляем
#xtranslate _HMG_aFormEnterSizeMoveProcedure => _HMG_SYSDATA\[411\]
#xtranslate _HMG_aFormExitSizeMoveProcedure => _HMG_SYSDATA\[412\]

Сохраняем изменения, закрываем файл.

Открываем \MiniGUI\Source\h_init.prg
вносим сл.изменения

Меняем
Public _HMG_SYSDATA [ 410 ]
на
Public _HMG_SYSDATA [ _HMG_SYSDATA_SIZE ]

после
_HMG_aControlMiscData1 := {}
добавляем
_HMG_aFormEnterSizeMoveProcedure := {}
_HMG_aFormExitSizeMoveProcedure := {}

Небольшое лирическое отступление. Посмотрев чуть ниже, мы увидим
if ! IsInsertActive()
If( IsWinNT(), KeyToggleNT( VK_INSERT ), KeyToggle( VK_INSERT ) )
EndIf

А вот, что пишут некоторые пользователи:
When starting any EXE from SAMPLES directory built with COMPILE.BAT
(with no additional parameters), my EXE starts in the background,
sending the INS key to the file manager it was started from (both
Total Commander and FAR).

Is it common problem? How to start HMG application in the foreground ?

Улыбаемся, сохраняем изменения, закрываем файл.

Открываем \MiniGUI\Source\h_windows.prg
Здесь находится серце MiniGUI - функция Events, IMHO эта функция заслужила свой отдельный файл, h_events.prg, например.

Будем добавлять обработку событий WM_ENTERSIZEMOVE и WM_EXITSIZEMOVE
Где-то возле обработчика WM_MOVE и по аналогии с ним добавляем


***********************************************************************
case WM_ENTERSIZEMOVE
***********************************************************************

_ActiveMenu := .F.
_HMG_MouseRow := HIWORD(lParam)
_HMG_MouseCol := LOWORD(lParam)

i := Ascan ( _HMG_aFormhandles , hWnd )

if i > 0
_DoWindowEventProcedure ( _HMG_aFormEnterSizeMoveProcedure , i )
EndIf
exit

***********************************************************************
case WM_EXITSIZEMOVE
***********************************************************************

_ActiveMenu := .F.
_HMG_MouseRow := HIWORD(lParam)
_HMG_MouseCol := LOWORD(lParam)

i := Ascan ( _HMG_aFormhandles , hWnd )

if i > 0
_DoWindowEventProcedure ( _HMG_aFormExitSizeMoveProcedure , i )
EndIf
exit


Дальше в обработчике WM_DESTROY
после
_HMG_aFormMoveProcedure := ""
добавляем
_HMG_aFormEnterSizeMoveProcedure := ""
_HMG_aFormExitSizeMoveProcedure := ""

Function _DefineWindow
Вместо
Function _DefineWindow ( FormName, Caption, x, y, w, h, nominimize, nomaximize, nosize, nosysmenu, nocaption, StatusBar, StatusText, InitProcedure, ReleaseProcedure, MouseDragProcedure, SizeProcedure, ClickProcedure, MouseMoveProcedure, aRGB, PaintProcedure, noshow, topmost, main, icon, child, fontname, fontsize, NotifyIconName, NotifyIconTooltip, NotifyIconLeftClick, GotFocus, LostFocus, VirtualHeight, VirtualWidth, scrollleft, scrollright, scrollup, scrolldown, hscrollbox, vscrollbox, helpbutton, MaximizeProcedure, MinimizeProcedure, cursor, NoAutoRelease, InteractiveCloseProcedure, RestoreProcedure, MoveProcedure, mdi )
пишем
Function _DefineWindow ( FormName, Caption, x, y, w, h, nominimize, nomaximize, nosize, nosysmenu, nocaption, StatusBar, StatusText, InitProcedure, ReleaseProcedure, MouseDragProcedure, SizeProcedure, ClickProcedure, MouseMoveProcedure, aRGB, PaintProcedure, noshow, topmost, main, icon, child, fontname, fontsize, NotifyIconName, NotifyIconTooltip, NotifyIconLeftClick, GotFocus, LostFocus, VirtualHeight, VirtualWidth, scrollleft, scrollright, scrollup, scrolldown, hscrollbox, vscrollbox, helpbutton, MaximizeProcedure, MinimizeProcedure, cursor, NoAutoRelease, InteractiveCloseProcedure, RestoreProcedure, MoveProcedure, mdi, EnterSizeMoveProcedure, ExitSizeMoveProcedure )

Дальше ищем что-то такое
if valtype(MoveProcedure) == "U"
MoveProcedure := ""
endif
не находим ( как. в прочем и для InteractiveCloseProcedure, RestoreProcedure и некоторых др.)
Пробуем понять в чем смысл
if valtype(PaintProcedure) == "U"
PaintProcedure := ""
endif

и после
_HMG_aFormMoveProcedure [k] := MoveProcedure
добавляем
_HMG_aFormEnterSizeMoveProcedure [k] := EnterSizeMoveProcedure
_HMG_aFormExitSizeMoveProcedure [k] := ExitSizeMoveProcedure

после
aAdd ( _HMG_aFormMoveProcedure , MoveProcedure )
добавляем
aAdd ( _HMG_aFormEnterSizeMoveProcedure , EnterSizeMoveProcedure )
aAdd ( _HMG_aFormExitSizeMoveProcedure , ExitSizeMoveProcedure )

Подобные изменения при желании вносим в _DefineModalWindow

Теперь правим i_window.ch, i_window_ext.ch :

#xcommand DEFINE WINDOW <w> ;
AT <row>,<col> ;
WIDTH <wi> ;
HEIGHT <h> ;
....
[ ON ENTERSIZEMOVE <EnterSizeMoveProcedure> ] ;
[ ON MOVE <MoveProcedure> ] ;
[ ON SIZE <SizeProcedure> ] ;

[ ON EXITSIZEMOVE <ExitSizeMoveProcedure> ] ;
....
[ <helpbutton: HELPBUTTON> ] ;
=>;
_DefineWindow ( <"w">, <title>, <col>, <row>, <wi>, <h>, <.nominimize.>, <.nomaximize.>, <.nosize.>, <.nosysmenu.>, <.nocaption.>,.F., '',<{InitProcedure}>, <{ReleaseProcedure}> , <{MouseDragProcedure}>, <{SizeProcedure}> , <{ClickProcedure}> , <{MouseMoveProcedure}>, [<backcolor>] , <{PaintProcedure}> , <.noshow.> , <.topmost.> , <.main.> , <icon> , <.child.> , <FontName> , <FontSize>, <NotifyIcon> , <NotifyIconTooltip> , <{NotifyLeftClick}> , <{GotFocusProcedure}>, <{LostFocusProcedure}> , <vHeight> , <vWidth> , <{scrollleft}> , <{scrollright}> , <{scrollup}> , <{scrolldown}> , <{hScrollBox}> , <{vScrollBox}> , <.helpbutton.> , <{MaximizeProcedure}> , <{MinimizeProcedure}> , <cursor> , <.noautorelease.> , <{interactivecloseprocedure}> , <{RestoreProcedure}> , <{MoveProcedure}> , <.mdi.>, <{EnterSizeMoveProcedure}>, <{ExitSizeMoveProcedure}> ) ;;
DECLARE WINDOW <w>


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 228
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 12.09.07 17:54. Заголовок: Re:


Пишем маленькую демку и убеждаемся что все более-менее сносно работает.

#include "minigui.ch"

DECLARE WINDOW test

function main()
PUBLIC aBeginPos := { 0, 0, 0, 0 }
PUBLIC aEndPos := { 0, 0, 0, 0 }

DEFINE WINDOW test AT 164 , 292 WIDTH 502 HEIGHT 382 TITLE "test" MAIN;
ON ENTERSIZEMOVE OnEnterSizeMove();
ON EXITSIZEMOVE OnExitSizeMove();

END WINDOW
Activate Window Test

return

function OnEnterSizeMove()
aBeginPos[1] := test.row
aBeginPos[2] := test.col
aBeginPos[3] := test.height
aBeginPos[4] := test.width
test.title := str(test.col) + str(test.row) + str(test.height) + str(test.width)
return nil

function OnExitSizeMove()
aEndPos[1] := test.row
aEndPos[2] := test.col
aEndPos[3] := test.height
aEndPos[4] := test.width
test.title := str(test.col) + str(test.row) + str(test.height) + str(test.width)
return nil


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 229
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 12.09.07 18:06. Заголовок: Re:


Рекомендую также по этому шаблону сделать доступной обработку сообщений WM_MOVING, WM_SIZING, возможно чуть-чуть изменить обработку WM_MOVE, WM_SIZE. Это сделает доступным docking, позволит для окна ввести предложения MINHEIGHT, MAXHEIGHT, MINWIDTH, MAXWIDTH и вплотную приблизит к решению autosize control. Останется строк 40-50 кода написать

Спасибо: 0 
ПрофильЦитата Ответить
модератор




Пост N: 547
Зарегистрирован: 25.05.05
ссылка на сообщение  Отправлено: 12.09.07 18:49. Заголовок: Re:


Петр пишет:

 цитата:
Останется строк 40-50 кода написать


Большое спасибо за идею!
Вижу, что работа над Personal Edition продвигается неплохо


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 230
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 12.09.07 19:30. Заголовок: Re:


gfilatov пишет:

 цитата:
Большое спасибо за идею!


Спасибо.

gfilatov пишет:

 цитата:
Вижу, что работа над Personal Edition продвигается неплохо


Работаем. И я надеюсь, что все, или почти все, хорошие решения и идеи, которые не выходят рамки концепции MiniGUI - рано или поздно попадут в MiniGUI Ex.

Спасибо: 0 
ПрофильЦитата Ответить
модератор




Пост N: 548
Зарегистрирован: 25.05.05
ссылка на сообщение  Отправлено: 12.09.07 20:54. Заголовок: Re:


Петр пишет:

 цитата:
хорошие решения и идеи, которые не выходят за рамки концепции MiniGUI - рано или поздно попадут в MiniGUI Ex.


Без сомнений
На том стоим!

P.S.
Петр! Большая просьба, если есть готовые к опубликованию примеры - присылайте (замучился ожидать...)

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 9
Зарегистрирован: 05.06.07
ссылка на сообщение  Отправлено: 13.09.07 04:59. Заголовок: Правильно ли я понял


Правильно ли я понял, что мне самому не надо модернизировать систему т.к. метр GFilatov заинтересовался этой идеей и она будет реализована в следующей версии?
Иначе получится разветвление версий, а поддерживать свою ветку я не смогу.

Спасибо: 0 
ПрофильЦитата Ответить
модератор




Пост N: 549
Зарегистрирован: 25.05.05
ссылка на сообщение  Отправлено: 13.09.07 10:00. Заголовок: Re:


SADSTAR2 пишет:

 цитата:
она будет реализована в следующей версии?


Если я получу еще хотя бы один голос за необходимость такой модернизации, то она будет выполнена

Пока же я еще раз рекомендую обратить внимание на более простое решение Вашей проблемы с помощью команды

DEFINE BKGBRUSH newBrush PATTERN IN Form_Main BITMAP smiles.bmp


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 231
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 13.09.07 10:41. Заголовок: Re:


gfilatov пишет:

 цитата:
Если я получу еще хотя бы один голос за необходимость такой модернизации, то она будет выполнена


На этом форуме
Похоже, что SADSTAR2у придется долго ждать .

SADSTAR2, Вам, что нужно - фон окна или картинка в фрейме? Если фон - то действительно DEFINE BKGBRUSH самое простое и эффективное решение.



Спасибо: 0 
ПрофильЦитата Ответить
модератор




Пост N: 550
Зарегистрирован: 25.05.05
ссылка на сообщение  Отправлено: 13.09.07 16:17. Заголовок: Re:


Петр пишет:

 цитата:
позволит для окна ввести предложения MINHEIGHT, MAXHEIGHT, MINWIDTH, MAXWIDTH


Эти свойства окна будут доступны в следующем релизе

Ниже тестовый пример для этой фичи:

/*
* MiniGUI MinMaxSize Demo
* (c) 2007 Grigory Filatov <gfilatov@freemail.ru>
*/

#include "minigui.ch"

DECLARE WINDOW Form_1

Function Main

DEFINE WINDOW Form_1 ;
AT 0,0 ;
WIDTH 400 ;
HEIGHT 200 ;
TITLE 'Hello World!' ;
MAIN ;
ON MAXIMIZE Form_1.Center

DEFINE BUTTON Button_1
ROW 10
COL 10
CAPTION 'OK'
ACTION MsgBox('Hello World!')
DEFAULT .T.
END BUTTON

DEFINE BUTTON Button_2
ROW 40
COL 10
CAPTION 'Cancel'
ACTION ThisWindow.Release
END BUTTON

END WINDOW

Form_1.MinWidth := 150
Form_1.MinHeight := 150
Form_1.MaxWidth := 1024
Form_1.MaxHeight := 768

CENTER WINDOW Form_1

ACTIVATE WINDOW Form_1

Return nil




Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 233
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 13.09.07 19:46. Заголовок: Re:


gfilatov пишет:

 цитата:
Эти свойства окна будут доступны в следующем релизе



Это было бы не плохо.

Но мне кажется, что
DEFINE WINDOW Form_1 ;
AT 0,0 ;
WIDTH 400 ;
HEIGHT 200 ;
MINWIDTH 150;
MAXWIDTH 1024;
MINHEIGHT 150;
MAXHEIGHT 1024;
TITLE 'Hello World!' ;
MAIN ;
ON MAXIMIZE Form_1.Center

тоже нужно предусмотреть. Это облегчит работу Формигони

А теперь о примере. Теперь в поставку входит около 300. Причем не буду говорить о их качестве.
Давайте о количестве, чтобы просто на них глянуть, затратив 1 минуту понадобится около 5 часов.
Я не думаю, что многие согласятся на такой подвиг. И вопросы задаваемые пользователями говорят, что большинство из них примеры не смотрит.

Вот лично я бы хотел хотел увидеть вместо ON_INTERACTIVECLOSE, ON_KEY, MoveWindows, ON_QWERYDATA может что-то упустил - один, ну два, хорошо написанных примера по работе с окнами.

IMHO примеров в MiniGUI уже столько, что они из "+" превращаются в "-" библиотеки.
Ну все сказанное не значит, что я примеров Вам присылать не буду .
Но, Григорий, согласитесь пора устроить небольшую уборку





Спасибо: 0 
ПрофильЦитата Ответить
модератор




Пост N: 552
Зарегистрирован: 25.05.05
ссылка на сообщение  Отправлено: 13.09.07 20:47. Заголовок: Re:


Петр пишет:

 цитата:
согласитесь пора устроить небольшую уборку


Согласен
Давайте конкретные предложения, что выбросить или чем заменить
Возможно, требуется добавить еще каталоги для сегментации примеров..

Петр пишет:

 цитата:
не значит, что я примеров Вам присылать не буду


Ловлю на слове

Петр пишет:

 цитата:
вопросы задаваемые пользователями говорят, что большинство из них примеры не смотрит.


Да, это правда.



Спасибо: 0 
ПрофильЦитата Ответить
модератор




Пост N: 553
Зарегистрирован: 25.05.05
ссылка на сообщение  Отправлено: 13.09.07 21:58. Заголовок: Re:


Петр пишет:

 цитата:
Но мне кажется, что
DEFINE WINDOW Form_1 ;
AT 0,0 ;
WIDTH 400 ;
HEIGHT 200 ;
MINWIDTH 150;
MAXWIDTH 1024;
MINHEIGHT 150;
MAXHEIGHT 1024;
TITLE 'Hello World!' ;
MAIN ;
ON MAXIMIZE Form_1.Center

тоже нужно предусмотреть


Не хотелось бы плодить необязательные свойства в структуре окна
Тем более, что можно использовать для присвоения событие ON INIT:

DEFINE WINDOW Form_1 ;
...
ON INIT oninit() ;
...

proc oninit

This.MinWidth := 100
This.MinHeight := 150
ThisWindow.MaxWidth := 800
ThisWindow.MaxHeight := 600

return

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 10
Зарегистрирован: 05.06.07
ссылка на сообщение  Отправлено: 14.09.07 01:40. Заголовок: Картинку во фрейме


Петр пишет:

 цитата:
SADSTAR2, Вам, что нужно - фон окна или картинка в фрейме? Если фон - то действительно DEFINE BKGBRUSH самое простое и эффективное решение.


Картинку в заданных границах. Фрейм - рамка для обозначения зоны показа. Кроме этого есть другие визуальные элементы = кнопки,тектбоксы, лейблы и т.п.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 11
Зарегистрирован: 05.06.07
ссылка на сообщение  Отправлено: 14.09.07 01:42. Заголовок: Картинку во фрейме


Петр пишет:

 цитата:
SADSTAR2, Вам, что нужно - фон окна или картинка в фрейме? Если фон - то действительно DEFINE BKGBRUSH самое простое и эффективное решение.


Картинку в заданных границах. Фрейм - рамка для обозначения зоны показа. Кроме этого есть другие визуальные элементы = кнопки,тектбоксы, лейблы и т.п.

Спасибо: 0 
ПрофильЦитата Ответить
модератор




Пост N: 554
Зарегистрирован: 25.05.05
ссылка на сообщение  Отправлено: 14.09.07 12:29. Заголовок: Re:


Петр пишет:

 цитата:
Но мне кажется, что
DEFINE WINDOW Form_1 ;
AT 0,0 ;
WIDTH 400 ;
HEIGHT 200 ;
MINWIDTH 150;
MAXWIDTH 1024;
MINHEIGHT 150;
MAXHEIGHT 1024;
TITLE 'Hello World!' ;
MAIN ;
ON MAXIMIZE Form_1.Center

тоже нужно предусмотреть.



Согласен с Вами. Добавил эту возможность.


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 237
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 14.09.07 15:52. Заголовок: Re:


gfilatov пишет:

 цитата:
Добавил эту возможность.



Хорошо
Сегодня слишком занят. Завтра или послезавтра напишу Вам письмо с некоторыми предложениями и примером с TN.

SADSTAR2 Я Вам обязательно отвечу. Посмотрю как организована работа с IMAGE и что-там можно, нельзя исправить.



Спасибо: 0 
ПрофильЦитата Ответить
модератор




Пост N: 555
Зарегистрирован: 25.05.05
ссылка на сообщение  Отправлено: 14.09.07 16:41. Заголовок: Re:


Петр пишет:

 цитата:
напишу Вам письмо с некоторыми предложениями и примером с TN


Увы, ничего не получил

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 25 , стр: 1 2 All [только новые]
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 254
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет