Современные решения

для защиты Windows приложений

и восстановления исходного кода

Visual Basic 6.0 - Создать эллиптический регион


Re: Создать эллиптический регион

From: "A. Skrobov" <tyomitch [@] r66.ru>


Hello, Pasha!
You wrote in conference fido7.ru.visual.basic to "A.Skrobov" <fido7.ru.visual.basic [@] talk.ru>to A. Skrobov on Fri, 02 Jan 2004

03:52:26 +0300:

AS>> Есть ли способ создать эллиптический регион? CreateEllipticRgn

AS>> обрезает у эллипса правый и нижный ряд пикселов, превращая эллипс в

AS>> чёрти что. Есть ли какой-то другой способ, кроме создания такого

AS>> региона из набора прямоугольников, рассчитывая их границы самому?

PO> В случае .NET это очень просто. Вот код на C#, который без труда

PO> переписывается на VB (this -> Me, остальное очевидно):

[Sorry, skipped]
PO> Мораль такая: создаем экземпляр класса GraphicsPath, пихаем туда эллипс,

PO> потом на основе него создаем экземпляр класса Region, который суем в свойство

PO> Region.


=========Beginning of the citation==============
The following table shows which drawing functions can be used on the different Windows operating systems.

Drawing function Operating system
AngleArc Windows NT/2000
Arc Windows NT/2000
ArcTo Windows NT/2000
Chord Windows NT/2000
CloseFigure Windows 95/98 and Windows NT/2000
Ellipse Windows NT/2000
ExtTextOut Windows 95/98 and Windows NT/2000
LineTo Windows 95/98 and Windows NT/2000
MoveToEx Windows 95/98 and Windows NT/2000
Pie Windows NT/2000
PolyBezier Windows 95/98 and Windows NT/2000
PolyBezierTo Windows 95/98 and Windows NT/2000
PolyDraw Windows NT/2000
Polygon Windows 95/98 and Windows NT/2000
Polyline Windows 95/98 and Windows NT/2000
PolylineTo Windows 95/98 and Windows NT/2000
PolyPolygon Windows 95/98 and Windows NT/2000
PolyPolyline Windows 95/98 and Windows NT/2000
Rectangle Windows NT/2000
RoundRect Windows NT/2000
TextOut Windows 95/98 and Windows NT/2000

=========The end of the citation================
Т.е. на 9х это тоже не заработает.


--
To prevent your mail from being filtered out, simply quote this line in your message body. A464E022
* Origin: Talk.Mail.Ru (2:5020/400)

Заморочка с StdFont

From: Андрей Y <andreyz [@] matchem.kth.se>


Открываю VB6 - новый проэкт. Вставляю пример из MSDN - раздел Font
Object. Строка из примера
Dim X As New StdFont
работает без проблем.

Беру свой старый проэкт перегнанный в МИ6 еще из VB3. Вставляю тот же
пример (не важно - в одну из старых форм или в новую -
свежедобавленную) - ругается на эту строку: "Compile error: User-
defined type not defined".

Видимо при переходе к более высоким версиям в проэкт не добавилось. Что
это может быть и как это добавить?

Спасибо


--
Объяснение принципов помогает думать. Примеры учат обезьянничать.
Если надумаете е-мылить - лучше andreyz2000#hotmail com

* Origin: Talk.ru (2:5020/400)

Re: Задеpжка в 0.5 секунды

From: "A. Skrobov" <tyomitch [@] r66.ru>


Hello, Alexander!
You wrote in conference fido7.ru.visual.basic to "All" <fido7.ru.visual.basic [@] talk.ru>to All on Fri, 02 Jan 2004 14:39:56 +0300:


AA> Как сделать сабж? Даже бы Sleep подошёл, но как он pаботает? Вpоде чеpез

AA> какую-то функцию надо вызывать. Или скажите альтеpнативный способ

AA> осуществления сабжа. Спасибо.

AA> Пpимечание: Хочу чтобы чеpез каждые 0.5 секунды менялась позиция

AA> Line(линии).

Положи на форму таймер.


--
To prevent your mail from being filtered out, simply quote this line in your message body. A464E022
* Origin: Talk.Mail.Ru (2:5020/400)

Re: Заморочка с StdFont

From: Alexander Asyabrik <belmis [@] mail.belpak.by>


Привет, Андрей.

Вы, было дело, писали 2 января 2004 г., 13:32:

АY> Dim X As New StdFont


АY> Беру свой старый проэкт перегнанный в МИ6 еще из VB3. Вставляю тот же

АY> пример (не важно - в одну из старых форм или в новую -

АY> свежедобавленную) - ругается на эту строку: "Compile error: User-

АY> defined type not defined".


АY> Видимо при переходе к более высоким версиям в проэкт не добавилось. Что

АY> это может быть и как это добавить?


StdFont - дитя OLEAutomation (сделай ссылку на stdole2.tlb)

--
С уважением, Alexander
12:48:33 PM
* Origin: Talk.Mail.Ru (2:5020/400)

Re: Заморочка с StdFont

From: Андрей Y <andreyz [@] matchem.kth.se>



>> Dim X As New StdFont

>> Беру свой старый проэкт перегнанный в МИ6 еще из VB3.

>>.........

>> ругается на эту строку: "Compile error: User-

>> defined type not defined".


> StdFont - дитя OLEAutomation (сделай ссылку на stdole2.tlb)


А как эту ссылку добавить если не секрет?
Спасибо

--
Объяснение принципов помогает думать. Примеры учат обезьянничать.
Если надумаете е-мылить - лучше andreyz2000#hotmail com

* Origin: Talk.ru (2:5020/400)

Задеpжка в 0.5 секунды

H!, _[Андpей]_!
АY> А чем контpоль Timer не подходит?

Совсем башка киpпичём на голову ;)


g'bye and g'luck, _[Андpей]_!
* Origin: Down/Upload Soft: http://kraki.cvalka.net (2:5054/29.33)

Задеpжка в 0.5 секунды

H!, _[A.]_!
AS> Положи на фоpму таймеp.

Забыл пpо него.
2All: Где можно подpобнее флаги OpenDialog-a посмотpеть?

g'bye and g'luck, _[A.]_!
* Origin: S2k - http://revengecrew.org (2:5054/29.33)

Создать эллиптический регион

Здравствуйте, A!

Friday January 02 2004 13:32, A. Skrobov -- Pasha Oleinikov:

AS> Ellipse Windows NT/2000

AS> Т.е. на 9х это тоже не заработает.


Вот отрывок из MSDN за апрель 2003 года:

The Ellipse function draws an ellipse.
Requirements
Windows NT/2000/XP: Included in Windows NT 3.1 and later.
Windows 95/98/Me: Included in Windows 95 and later.
Header: Declared in Wingdi.h; include Windows.h.
Library: Use Gdi32.lib.

Hо ведь я совсем не об этом говорил! Я не перестаю удивляться тому, как можно до сих пор пользоваться VB6 и напрямую вызывать функции API? VB6 как язык уже давно морально устарел, копаться в API - далеко не самое приятное занятие, да и вызовы API-функций в коде смотрятся омерзительно. Hо ведь уже года два есть VB .NET и .NET Framework (в данный момент 1.1)! Да и 9x тоже давно пора на помойку выбросить... Я ведь не для красоты о .NET упомянул, причем в данном контексте как о библиотеке классов. Те классы, о которых я упомянул (GraphicsPath и Region), входят в состав вышеупомянутой библиотеки, и при ее использовании обычно не приходится задумываться над тем, заработает это под 9х или нет, потому что .NET Framework пока что ставится и на 9х (хотя если они откажутся от совместимости с 9х, я совершенно не расстроюсь).

С уважением, Pasha
* Origin: СПбГПУ, ФПС, ПОПКиЛС, 3 семестр (http://www.avalon.ru) (2:5030/1212)

Re: О строках фиксированной длины

Мы где-то виделись, A.?

02 Jan 04 13:32:40 в RU.VISUAL.BASIC A. Skrobov -> мне:


AS> 2) Я не уверен, создаётся для них BSTR-копия или BSTR-обёртка


BSTR-обертка для них невозможна, поскольку, afaik, перед данными BSTR-строки
хранится DWORD(длина_строки), а сабжи, опять-таки afaik, хранят только свое
содержимое.

Всего хорошего!
Дмитрий Козырев aka Master

* Origin: Дорогу осилит идущий. (2:5023/11.148)

Re: VB

Мы где-то виделись, A.?

02 Jan 04 13:32:41 в RU.VISUAL.BASIC A. Skrobov -> мне:


AA>>>> Вопpос: Как из стpоки System.ini отнять ".ini", т.е. чтобы получилось

AA>>>> "System".

AS>>> MsgBox Left(String, InStrRev(String, ".") - 1)

DK>> А если точки нет? :(

AS> В "System.ini"-то?


Hет, в CommonDialog1.FileName.

Всего хорошего!
Дмитрий Козырев aka Master

* Origin: Дорогу осилит идущий. (2:5023/11.148)